Messages in this thread Patch in this message | | | Date | Tue, 13 Jan 1998 15:09:42 -0500 (EST) | From | "C. Scott Ananian" <> | Subject | FAT fs patch for 2.1.79 |
| |
This patch fixes the compile problems for the FAT filesystem in 2.1.79. I'm still working on vfat. --Scott @ @ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-oOO-(_)-OOo-=-=-=-=-= C. Scott Ananian: cananian@lcs.mit.edu / Declare the Truth boldly and Laboratory for Computer Science/Crypto / without hindrance. Massachusetts Institute of Technology /META-PARRESIAS AKOLUTOS:Acts 28:31 -.-. .-.. .. ..-. ..-. --- .-. -.. ... -.-. --- - - .- -. .- -. .. .- -. PGP key available via finger and from http://www.pdos.lcs.mit.edu/~cananian
diff -ru -X badboys linux-2.1.79-orig/fs/fat/cache.c linux-2.1.79/fs/fat/cache.c --- linux-2.1.79-orig/fs/fat/cache.c Tue Jan 13 14:56:09 1998 +++ linux-2.1.79/fs/fat/cache.c Tue Jan 13 03:32:22 1998 @@ -122,7 +122,7 @@ } -void cache_init(void) +void fat_cache_init(void) { static int initialized = 0; int count; @@ -138,7 +138,7 @@ } -void cache_lookup(struct inode *inode,int cluster,int *f_clu,int *d_clu) +void fat_cache_lookup(struct inode *inode,int cluster,int *f_clu,int *d_clu) { struct fat_cache *walk; @@ -179,7 +179,7 @@ #endif -void cache_add(struct inode *inode,int f_clu,int d_clu) +void fat_cache_add(struct inode *inode,int f_clu,int d_clu) { struct fat_cache *walk,*last; @@ -252,12 +252,12 @@ if (!(nr = MSDOS_I(inode)->i_start)) return 0; if (!cluster) return nr; count = 0; - for (cache_lookup(inode,cluster,&count,&nr); count < cluster; + for (fat_cache_lookup(inode,cluster,&count,&nr); count < cluster; count++) { if ((nr = fat_access(inode->i_sb,nr,-1)) == -1) return 0; if (!nr) return 0; } - cache_add(inode,cluster,nr); + fat_cache_add(inode,cluster,nr); return nr; } diff -ru -X badboys linux-2.1.79-orig/fs/fat/inode.c linux-2.1.79/fs/fat/inode.c --- linux-2.1.79-orig/fs/fat/inode.c Tue Jan 13 14:56:11 1998 +++ linux-2.1.79/fs/fat/inode.c Tue Jan 13 03:30:48 1998 @@ -377,7 +377,7 @@ /* N.B. we should parse directly into the sb structure */ memcpy(&(MSDOS_SB(sb)->options), &opts, sizeof(struct fat_mount_options)); - cache_init(); + fat_cache_init(); lock_super(sb); if( blksize > 1024 ) { diff -ru -X badboys linux-2.1.79-orig/fs/fat/misc.c linux-2.1.79/fs/fat/misc.c --- linux-2.1.79-orig/fs/fat/misc.c Tue Jan 13 14:56:11 1998 +++ linux-2.1.79/fs/fat/misc.c Tue Jan 13 03:32:03 1998 @@ -194,7 +194,7 @@ */ file_cluster = 0; if ((curr = MSDOS_I(inode)->i_start) != 0) { - cache_lookup(inode,INT_MAX,&last,&curr); + fat_cache_lookup(inode,INT_MAX,&last,&curr); file_cluster = last; while (curr && curr != -1){ PRINTK ((".")); @@ -242,7 +242,7 @@ printk ("file_cluster badly computed!!! %d <> %ld\n" ,file_cluster,inode->i_blocks/cluster_size); }else{ - cache_add(inode,file_cluster,nr); + fat_cache_add(inode,file_cluster,nr); } inode->i_blocks += cluster_size; if (S_ISDIR(inode->i_mode)) { diff -ru -X badboys linux-2.1.79-orig/fs/fat/mmap.c linux-2.1.79/fs/fat/mmap.c --- linux-2.1.79-orig/fs/fat/mmap.c Tue Jan 13 14:56:11 1998 +++ linux-2.1.79/fs/fat/mmap.c Tue Jan 13 14:58:04 1998 @@ -118,8 +118,9 @@ } -int fat_readpage(struct inode * inode, struct page * page) +int fat_readpage(struct dentry * dentry, struct page * page) { + struct inode * inode = dentry->d_inode; if(MSDOS_SB(inode->i_sb)->cvf_format) if(MSDOS_SB(inode->i_sb)->cvf_format->cvf_readpage) return MSDOS_SB(inode->i_sb)->cvf_format->cvf_readpage(inode,page); diff -ru -X badboys linux-2.1.79-orig/include/linux/msdos_fs.h linux-2.1.79/include/linux/msdos_fs.h --- linux-2.1.79-orig/include/linux/msdos_fs.h Tue Jan 13 14:56:31 1998 +++ linux-2.1.79/include/linux/msdos_fs.h Tue Jan 13 14:58:53 1998 @@ -219,10 +219,10 @@ extern int fat_free(struct inode *inode,int skip); void fat_cache_inval_inode(struct inode *inode); void fat_cache_inval_dev(kdev_t device); -extern void cache_init(void); -void cache_lookup(struct inode *inode,int cluster,int *f_clu,int *d_clu); -void cache_add(struct inode *inode,int f_clu,int d_clu); -int get_cluster(struct inode *inode,int cluster); +extern void fat_cache_init(void); +void fat_cache_lookup(struct inode *inode,int cluster,int *f_clu,int *d_clu); +void fat_cache_add(struct inode *inode,int f_clu,int d_clu); +int fat_get_cluster(struct inode *inode,int cluster); /* inode.c */ extern int fat_bmap(struct inode *inode,int block); @@ -256,7 +256,7 @@ /* mmap.c */ extern int fat_mmap(struct file *, struct vm_area_struct *); -extern int fat_readpage(struct inode *, struct page *); +extern int fat_readpage(struct dentry *, struct page *); /* vfat.c */
| |