Hello!

  Attached patch exposes reiserfs_sync_fs(). This call is needed by the
new quota code to write data to disk on quotaoff so that userspace can
see them afterwards. Chris Mason agrees with the patch so I hope you
can merge it.

                                                                Honza

-- 
Jan Kara <[EMAIL PROTECTED]>
SuSE CR Labs
Make reiserfs provide the sync_fs() function so that the quota code
has a way to reliably force a transaction to disk.

Signed-off-by: Jan Kara <[EMAIL PROTECTED]>

diff -rupNX /home/jack/.kerndiffexclude 
linux-2.6.10-rc2-mm1-3-reiserdebug/fs/reiserfs/super.c 
linux-2.6.10-rc2-mm1-4-reisersync/fs/reiserfs/super.c
--- linux-2.6.10-rc2-mm1-3-reiserdebug/fs/reiserfs/super.c      2004-11-16 
16:40:53.000000000 +0100
+++ linux-2.6.10-rc2-mm1-4-reisersync/fs/reiserfs/super.c       2004-11-18 
20:27:03.000000000 +0100
@@ -62,7 +62,7 @@ static int is_any_reiserfs_magic_string 
 static int reiserfs_remount (struct super_block * s, int * flags, char * data);
 static int reiserfs_statfs (struct super_block * s, struct kstatfs * buf);
 
-static void reiserfs_sync_fs (struct super_block * s)
+static int reiserfs_sync_fs (struct super_block * s, int wait)
 {
     if (!(s->s_flags & MS_RDONLY)) {
         struct reiserfs_transaction_handle th;
@@ -76,11 +76,12 @@ static void reiserfs_sync_fs (struct sup
     } else {
         s->s_dirt = 0;
     }
+    return 0;
 }
 
 static void reiserfs_write_super(struct super_block *s)
 {
-    reiserfs_sync_fs(s);
+    reiserfs_sync_fs(s, 1);
 }
 
 static void reiserfs_write_super_lockfs (struct super_block * s)
@@ -526,6 +527,7 @@ struct super_operations reiserfs_sops = 
   .clear_inode  = reiserfs_clear_inode,
   .put_super = reiserfs_put_super,
   .write_super = reiserfs_write_super,
+  .sync_fs = reiserfs_sync_fs,
   .write_super_lockfs = reiserfs_write_super_lockfs,
   .unlockfs = reiserfs_unlockfs,
   .statfs = reiserfs_statfs,

Reply via email to