[patch] 2.4.0-test1-ac13 write_inode change

From: Keith Owens (kaos@ocs.com.au)
Date: Sun Jun 11 2000 - 04:28:15 EST


The write_inode operation was changed to take an extra parameter but
not all filesystems were updated, causing a lot of warnings. This
patch adds the missing parameter to all filesystems.

Index: 0-test1-ac13.2/ipc/shm.c
--- 0-test1-ac13.2/ipc/shm.c Wed, 07 Jun 2000 08:12:37 +1000 kaos (linux-2.4/j/42_shm.c 1.3 644)
+++ 0-test1-ac13.3/ipc/shm.c Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/j/42_shm.c 1.4 644)
@@ -52,7 +52,7 @@
 static void shm_put_super (struct super_block *);
 static int shm_remount_fs (struct super_block *, int *, char *);
 static void shm_read_inode (struct inode *);
-static void shm_write_inode(struct inode *);
+static void shm_write_inode(struct inode *, int);
 static int shm_statfs (struct super_block *, struct statfs *);
 static int shm_create (struct inode *,struct dentry *,int);
 static struct dentry *shm_lookup (struct inode *,struct dentry *);
@@ -371,7 +371,7 @@
         return 0;
 }
 
-static void shm_write_inode(struct inode * inode)
+static void shm_write_inode(struct inode * inode, int unused)
 {
 }
 
Index: 0-test1-ac13.2/include/linux/affs_fs.h
--- 0-test1-ac13.2/include/linux/affs_fs.h Fri, 26 May 2000 13:10:01 +1000 kaos (linux-2.4/X/6_affs_fs.h 1.1 644)
+++ 0-test1-ac13.3/include/linux/affs_fs.h Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/X/6_affs_fs.h 1.2 644)
@@ -84,7 +84,7 @@
 extern void affs_put_inode(struct inode *inode);
 extern void affs_delete_inode(struct inode *inode);
 extern void affs_read_inode(struct inode *inode);
-extern void affs_write_inode(struct inode *inode);
+extern void affs_write_inode(struct inode *inode, int);
 
 /* super.c */
 
Index: 0-test1-ac13.2/include/linux/umsdos_fs.p
--- 0-test1-ac13.2/include/linux/umsdos_fs.p Fri, 26 May 2000 13:10:01 +1000 kaos (linux-2.4/X/20_umsdos_fs. 1.1 644)
+++ 0-test1-ac13.3/include/linux/umsdos_fs.p Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/X/20_umsdos_fs. 1.2 644)
@@ -48,7 +48,7 @@
 /* inode.c 12/06/95 09.49.40 */
 void fill_new_filp (struct file *filp, struct dentry *dentry);
 void UMSDOS_read_inode (struct inode *);
-void UMSDOS_write_inode (struct inode *);
+void UMSDOS_write_inode (struct inode *, int);
 int UMSDOS_notify_change (struct dentry *, struct iattr *attr);
 int umsdos_notify_change_locked(struct dentry *, struct iattr *attr);
 void UMSDOS_put_inode (struct inode *);
Index: 0-test1-ac13.2/include/linux/sysv_fs.h
--- 0-test1-ac13.2/include/linux/sysv_fs.h Sun, 11 Jun 2000 10:18:23 +1000 kaos (linux-2.4/X/35_sysv_fs.h 1.2 644)
+++ 0-test1-ac13.3/include/linux/sysv_fs.h Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/X/35_sysv_fs.h 1.3 644)
@@ -377,7 +377,7 @@
 extern struct buffer_head * sysv_file_bread(struct inode *, int, int);
 
 extern void sysv_truncate(struct inode *);
-extern void sysv_write_inode(struct inode *);
+extern void sysv_write_inode(struct inode *, int);
 extern int sysv_sync_inode(struct inode *);
 extern int sysv_sync_file(struct file *, struct dentry *, int);
 extern int sysv_notify_change(struct dentry *, struct iattr *);
Index: 0-test1-ac13.2/include/linux/ufs_fs.h
--- 0-test1-ac13.2/include/linux/ufs_fs.h Fri, 26 May 2000 13:10:01 +1000 kaos (linux-2.4/Y/42_ufs_fs.h 1.1 644)
+++ 0-test1-ac13.3/include/linux/ufs_fs.h Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/Y/42_ufs_fs.h 1.2 644)
@@ -560,9 +560,8 @@
 extern int ufs_frag_map (struct inode *, int);
 extern void ufs_read_inode (struct inode *);
 extern void ufs_put_inode (struct inode *);
-extern void ufs_write_inode (struct inode *);
+extern void ufs_write_inode (struct inode *, int);
 extern int ufs_sync_inode (struct inode *);
-extern void ufs_write_inode (struct inode *);
 extern void ufs_delete_inode (struct inode *);
 extern struct buffer_head * ufs_getfrag (struct inode *, unsigned, int, int *);
 extern struct buffer_head * ufs_bread (struct inode *, unsigned, int, int *);
Index: 0-test1-ac13.2/include/linux/msdos_fs.h
--- 0-test1-ac13.2/include/linux/msdos_fs.h Fri, 26 May 2000 13:10:01 +1000 kaos (linux-2.4/Z/41_msdos_fs.h 1.1 644)
+++ 0-test1-ac13.3/include/linux/msdos_fs.h Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/Z/41_msdos_fs.h 1.2 644)
@@ -248,7 +248,7 @@
 extern struct super_block *fat_read_super(struct super_block *s, void *data, int silent, struct inode_operations *dir_ops);
 extern void msdos_put_super(struct super_block *sb);
 extern int fat_statfs(struct super_block *sb,struct statfs *buf);
-extern void fat_write_inode(struct inode *inode);
+extern void fat_write_inode(struct inode *inode, int);
 
 /* dir.c */
 extern struct file_operations fat_dir_operations;
Index: 0-test1-ac13.2/include/linux/fs.h
--- 0-test1-ac13.2/include/linux/fs.h Sun, 11 Jun 2000 10:18:23 +1000 kaos (linux-2.4/Z/46_fs.h 1.5 644)
+++ 0-test1-ac13.3/include/linux/fs.h Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/Z/46_fs.h 1.6 644)
@@ -1010,6 +1010,7 @@
 extern int fsync_dev(kdev_t);
 extern int fsync_inode_buffers(struct inode *);
 extern int osync_inode_buffers(struct inode *);
+extern int generic_osync_inode(struct inode *, int);
 extern int inode_has_buffers(struct inode *);
 extern void sync_supers(kdev_t);
 extern int bmap(struct inode *, int);
Index: 0-test1-ac13.2/fs/devfs/base.c
--- 0-test1-ac13.2/fs/devfs/base.c Tue, 30 May 2000 17:14:16 +1000 kaos (linux-2.4/a/b/35_base.c 1.2 644)
+++ 0-test1-ac13.3/fs/devfs/base.c Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/a/b/35_base.c 1.3 644)
@@ -2406,7 +2406,7 @@
 #endif
 } /* End Function devfs_read_inode */
 
-static void devfs_write_inode (struct inode *inode)
+static void devfs_write_inode (struct inode *inode, int unused)
 {
     int index;
     struct devfs_inode *di;
Index: 0-test1-ac13.2/fs/bfs/inode.c
--- 0-test1-ac13.2/fs/bfs/inode.c Sun, 11 Jun 2000 10:18:23 +1000 kaos (linux-2.4/a/b/39_inode.c 1.3 644)
+++ 0-test1-ac13.3/fs/bfs/inode.c Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/a/b/39_inode.c 1.4 644)
@@ -84,7 +84,7 @@
         brelse(bh);
 }
 
-static void bfs_write_inode(struct inode * inode)
+static void bfs_write_inode(struct inode * inode, int unused)
 {
         unsigned long ino = inode->i_ino;
         kdev_t dev = inode->i_dev;
Index: 0-test1-ac13.2/fs/udf/udfdecl.h
--- 0-test1-ac13.2/fs/udf/udfdecl.h Fri, 26 May 2000 13:10:01 +1000 kaos (linux-2.4/a/b/48_udfdecl.h 1.1 644)
+++ 0-test1-ac13.3/fs/udf/udfdecl.h Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/a/b/48_udfdecl.h 1.2 644)
@@ -134,7 +134,7 @@
 extern void udf_read_inode(struct inode *);
 extern void udf_put_inode(struct inode *);
 extern void udf_delete_inode(struct inode *);
-extern void udf_write_inode(struct inode *);
+extern void udf_write_inode(struct inode *, int);
 extern long udf_locked_block_map(struct inode *, long);
 extern long udf_block_map(struct inode *, long);
 extern int inode_bmap(struct inode *, int, lb_addr *, Uint32 *, lb_addr *, Uint32 *, Uint32 *, struct buffer_head **);
Index: 0-test1-ac13.2/fs/udf/inode.c
--- 0-test1-ac13.2/fs/udf/inode.c Fri, 26 May 2000 13:10:01 +1000 kaos (linux-2.4/b/b/6_inode.c 1.1 644)
+++ 0-test1-ac13.3/fs/udf/inode.c Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/b/b/6_inode.c 1.2 644)
@@ -1213,7 +1213,7 @@
  * Written, tested, and released.
  */
 
-void udf_write_inode(struct inode * inode)
+void udf_write_inode(struct inode * inode, int unused)
 {
         lock_kernel();
         udf_update_inode(inode, 0);
Index: 0-test1-ac13.2/fs/ntfs/fs.c
--- 0-test1-ac13.2/fs/ntfs/fs.c Sun, 11 Jun 2000 10:18:23 +1000 kaos (linux-2.4/c/b/13_fs.c 1.3 644)
+++ 0-test1-ac13.3/fs/ntfs/fs.c Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/c/b/13_fs.c 1.4 644)
@@ -707,7 +707,7 @@
 
 #ifdef CONFIG_NTFS_RW
 static void
-ntfs_write_inode (struct inode *ino)
+ntfs_write_inode (struct inode *ino, int unused)
 {
         ntfs_debug (DEBUG_LINUX, "ntfs:write inode %x\n", ino->i_ino);
         ntfs_update_inode (NTFS_LINO2NINO (ino));
Index: 0-test1-ac13.2/fs/adfs/adfs.h
--- 0-test1-ac13.2/fs/adfs/adfs.h Fri, 26 May 2000 13:10:01 +1000 kaos (linux-2.4/c/b/21_adfs.h 1.1 644)
+++ 0-test1-ac13.3/fs/adfs/adfs.h Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/c/b/21_adfs.h 1.2 644)
@@ -73,7 +73,7 @@
 #endif
 struct inode *adfs_iget(struct super_block *sb, struct object_info *obj);
 void adfs_read_inode(struct inode *inode);
-void adfs_write_inode(struct inode *inode);
+void adfs_write_inode(struct inode *inode, int unused);
 int adfs_notify_change(struct dentry *dentry, struct iattr *attr);
 
 /* map.c */
Index: 0-test1-ac13.2/fs/adfs/inode.c
--- 0-test1-ac13.2/fs/adfs/inode.c Fri, 26 May 2000 13:10:01 +1000 kaos (linux-2.4/c/b/25_inode.c 1.1 644)
+++ 0-test1-ac13.3/fs/adfs/inode.c Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/c/b/25_inode.c 1.2 644)
@@ -360,7 +360,7 @@
  * The adfs-specific inode data has already been updated by
  * adfs_notify_change()
  */
-void adfs_write_inode(struct inode *inode)
+void adfs_write_inode(struct inode *inode, int unused)
 {
         struct super_block *sb = inode->i_sb;
         struct object_info obj;
Index: 0-test1-ac13.2/fs/qnx4/inode.c
--- 0-test1-ac13.2/fs/qnx4/inode.c Fri, 26 May 2000 13:10:01 +1000 kaos (linux-2.4/e/b/7_inode.c 1.1 644)
+++ 0-test1-ac13.3/fs/qnx4/inode.c Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/e/b/7_inode.c 1.2 644)
@@ -73,7 +73,7 @@
         sb->s_dirt = 0;
 }
 
-static void qnx4_write_inode(struct inode *inode)
+static void qnx4_write_inode(struct inode *inode, int unused)
 {
         struct qnx4_inode_entry *raw_inode;
         int block, ino;
Index: 0-test1-ac13.2/fs/affs/inode.c
--- 0-test1-ac13.2/fs/affs/inode.c Sun, 11 Jun 2000 10:18:23 +1000 kaos (linux-2.4/f/b/11_inode.c 1.2 644)
+++ 0-test1-ac13.3/fs/affs/inode.c Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/f/b/11_inode.c 1.3 644)
@@ -191,7 +191,7 @@
 }
 
 void
-affs_write_inode(struct inode *inode)
+affs_write_inode(struct inode *inode, int unused)
 {
         struct buffer_head *bh;
         struct file_end *file_end;
Index: 0-test1-ac13.2/fs/ufs/inode.c
--- 0-test1-ac13.2/fs/ufs/inode.c Fri, 26 May 2000 13:10:01 +1000 kaos (linux-2.4/f/b/22_inode.c 1.1 644)
+++ 0-test1-ac13.3/fs/ufs/inode.c Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/f/b/22_inode.c 1.2 644)
@@ -744,7 +744,7 @@
         return 0;
 }
 
-void ufs_write_inode (struct inode * inode)
+void ufs_write_inode (struct inode * inode, int unused)
 {
         ufs_update_inode (inode, 0);
 }
Index: 0-test1-ac13.2/fs/fat/inode.c
--- 0-test1-ac13.2/fs/fat/inode.c Fri, 26 May 2000 13:10:01 +1000 kaos (linux-2.4/g/b/3_inode.c 1.1 644)
+++ 0-test1-ac13.3/fs/fat/inode.c Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/g/b/3_inode.c 1.2 644)
@@ -837,7 +837,7 @@
         MSDOS_I(inode)->i_ctime_ms = de->ctime_ms;
 }
 
-void fat_write_inode(struct inode *inode)
+void fat_write_inode(struct inode *inode, int unused)
 {
         struct super_block *sb = inode->i_sb;
         struct buffer_head *bh;
Index: 0-test1-ac13.2/fs/sysv/inode.c
--- 0-test1-ac13.2/fs/sysv/inode.c Sun, 11 Jun 2000 10:18:23 +1000 kaos (linux-2.4/g/b/26_inode.c 1.2 644)
+++ 0-test1-ac13.3/fs/sysv/inode.c Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/g/b/26_inode.c 1.3 644)
@@ -1154,7 +1154,7 @@
         return bh;
 }
 
-void sysv_write_inode(struct inode * inode)
+void sysv_write_inode(struct inode * inode, int unused)
 {
         struct buffer_head *bh;
         bh = sysv_update_inode(inode);
Index: 0-test1-ac13.2/fs/sysv/ialloc.c
--- 0-test1-ac13.2/fs/sysv/ialloc.c Sun, 11 Jun 2000 10:18:23 +1000 kaos (linux-2.4/g/b/29_ialloc.c 1.2 644)
+++ 0-test1-ac13.3/fs/sysv/ialloc.c Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/g/b/29_ialloc.c 1.3 644)
@@ -142,7 +142,7 @@
         /* Change directory entry: */
         inode->i_mode = 0; /* for sysv_write_inode() */
         inode->i_size = 0; /* ditto */
- sysv_write_inode(inode); /* ensure inode not allocated again */
+ sysv_write_inode(inode, 0); /* ensure inode not allocated again */
                                         /* FIXME: caller may call this too. */
         mark_inode_dirty(inode); /* cleared by sysv_write_inode() */
         /* That's it. */
Index: 0-test1-ac13.2/fs/hpfs/file.c
--- 0-test1-ac13.2/fs/hpfs/file.c Fri, 26 May 2000 13:10:01 +1000 kaos (linux-2.4/g/b/37_file.c 1.1 644)
+++ 0-test1-ac13.3/fs/hpfs/file.c Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/g/b/37_file.c 1.2 644)
@@ -56,7 +56,7 @@
         i->i_blocks = 1 + ((i->i_size + 511) >> 9);
         i->u.hpfs_i.mmu_private = i->i_size;
         hpfs_truncate_btree(i->i_sb, i->i_ino, 1, ((i->i_size + 511) >> 9));
- hpfs_write_inode(i);
+ hpfs_write_inode(i, 0);
 }
 
 int hpfs_get_block(struct inode *inode, long iblock, struct buffer_head *bh_result, int create)
Index: 0-test1-ac13.2/fs/hpfs/hpfs_fn.h
--- 0-test1-ac13.2/fs/hpfs/hpfs_fn.h Fri, 26 May 2000 13:10:01 +1000 kaos (linux-2.4/g/b/46_hpfs_fn.h 1.1 644)
+++ 0-test1-ac13.3/fs/hpfs/hpfs_fn.h Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/g/b/46_hpfs_fn.h 1.2 644)
@@ -266,7 +266,7 @@
 
 void hpfs_read_inode(struct inode *);
 void hpfs_write_inode_ea(struct inode *, struct fnode *);
-void hpfs_write_inode(struct inode *);
+void hpfs_write_inode(struct inode *, int);
 void hpfs_write_inode_nolock(struct inode *);
 int hpfs_notify_change(struct dentry *, struct iattr *);
 void hpfs_write_if_changed(struct inode *);
Index: 0-test1-ac13.2/fs/hpfs/inode.c
--- 0-test1-ac13.2/fs/hpfs/inode.c Sun, 11 Jun 2000 10:18:23 +1000 kaos (linux-2.4/g/b/47_inode.c 1.2 644)
+++ 0-test1-ac13.3/fs/hpfs/inode.c Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/g/b/47_inode.c 1.3 644)
@@ -228,7 +228,7 @@
         }
 }
 
-void hpfs_write_inode(struct inode *i)
+void hpfs_write_inode(struct inode *i, int unused)
 {
         struct inode *parent;
         if (!i->i_nlink) return;
@@ -300,14 +300,14 @@
         if (inode->i_sb->s_hpfs_root == inode->i_ino) return -EINVAL;
         if ((error = inode_change_ok(inode, attr))) return error;
         inode_setattr(inode, attr);
- hpfs_write_inode(inode);
+ hpfs_write_inode(inode, 0);
         return 0;
 }
 
 void hpfs_write_if_changed(struct inode *inode)
 {
         if (inode->i_hpfs_dirty) {
- hpfs_write_inode(inode);
+ hpfs_write_inode(inode, 0);
         }
 }
 
Index: 0-test1-ac13.2/fs/umsdos/inode.c
--- 0-test1-ac13.2/fs/umsdos/inode.c Sun, 11 Jun 2000 10:18:23 +1000 kaos (linux-2.4/h/b/6_inode.c 1.2 644)
+++ 0-test1-ac13.3/fs/umsdos/inode.c Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/h/b/6_inode.c 1.3 644)
@@ -293,11 +293,11 @@
 /*
  * Update the disk with the inode content
  */
-void UMSDOS_write_inode (struct inode *inode)
+void UMSDOS_write_inode (struct inode *inode, int unused)
 {
         struct iattr newattrs;
 
- fat_write_inode (inode);
+ fat_write_inode (inode, 0);
         newattrs.ia_mtime = inode->i_mtime;
         newattrs.ia_atime = inode->i_atime;
         newattrs.ia_ctime = inode->i_ctime;
Index: 0-test1-ac13.2/fs/minix/inode.c
--- 0-test1-ac13.2/fs/minix/inode.c Fri, 26 May 2000 13:10:01 +1000 kaos (linux-2.4/i/b/1_inode.c 1.1 644)
+++ 0-test1-ac13.3/fs/minix/inode.c Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/i/b/1_inode.c 1.2 644)
@@ -28,7 +28,7 @@
 #include <linux/minix_fs.h>
 
 static void minix_read_inode(struct inode * inode);
-static void minix_write_inode(struct inode * inode);
+static void minix_write_inode(struct inode * inode, int);
 static int minix_statfs(struct super_block *sb, struct statfs *buf);
 static int minix_remount (struct super_block * sb, int * flags, char * data);
 
@@ -1232,7 +1232,7 @@
                 return V2_minix_update_inode(inode);
 }
 
-static void minix_write_inode(struct inode * inode)
+static void minix_write_inode(struct inode * inode, int unused)
 {
         struct buffer_head *bh;
 
Index: 0-test1-ac13.2/Documentation/filesystems/vfs.txt
--- 0-test1-ac13.2/Documentation/filesystems/vfs.txt Fri, 26 May 2000 13:10:01 +1000 kaos (linux-2.4/I/c/7_vfs.txt 1.1 644)
+++ 0-test1-ac13.3/Documentation/filesystems/vfs.txt Sun, 11 Jun 2000 19:21:02 +1000 kaos (linux-2.4/I/c/7_vfs.txt 1.2 644)
@@ -176,7 +176,7 @@
 
 struct super_operations {
         void (*read_inode) (struct inode *);
- void (*write_inode) (struct inode *);
+ void (*write_inode) (struct inode *, int);
         void (*put_inode) (struct inode *);
         void (*delete_inode) (struct inode *);
         int (*notify_change) (struct dentry *, struct iattr *);
@@ -198,7 +198,8 @@
         read. Other members are filled in by this method
 
   write_inode: this method is called when the VFS needs to write an
- inode to disc
+ inode to disc. The second parameter indicates whether the write
+ should be synchronous or not, not all filesystems check this flag.
 
   put_inode: called when the VFS inode is removed from the inode
         cache. This method is optional

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Jun 15 2000 - 21:00:22 EST