lkml.org 
[lkml]   [1998]   [Jan]   [13]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateTue, 13 Jan 1998 03:44:12 -0500 (EST)
From"C. Scott Ananian" <>
SubjectFAT filesystem bugs.
Enclosed is a patch to fix a compile bug in the fat filesystem and rename
the cache_* functions to fat_cache_* to prevent name conflicts.
There is still one bug left: fat_readpage is defined (in fs/fat/mmap.c) as
  int fat_readpage(struct inode * inode, struct page * page)
but should fit the prototype (in include/linux/fs.h):
  int (*readpage) (struct dentry *, struct page *);

In other words, it is expecting a <struct inode *> but is being passed a
<struct dentry *>.  I will let someone more familiar with inodes and
dentries fix this.
  --Scott

----------- cut here --------------
diff -ur 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 03:27:32 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 -ur 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 03:27:32 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 -ur 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 03:27:32 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 -ur linux-2.1.79/include/linux-orig/msdos_fs.h linux-2.1.79/include/linux/msdos_fs.h
--- linux-2.1.79/include/linux-orig/msdos_fs.h	Tue Jan 13 03:28:00 1998
+++ linux-2.1.79/include/linux/msdos_fs.h	Tue Jan 13 03:31:56 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);
----------- cut here --------------

\
 
 \ /
  Last update: 2005-03-22 12:41    [W:0.097 / U:0.940 seconds]
©2003-2008 Jasper Spaans