Hello!

  Attached patch makes reiserfs provide sync_fs() function. It is
necessary for a new quota code to work correctly and expose quota data
to the user space after quotaoff. Currently the functionality is hidden
behind the write_super() call which also seems a bit non-intuitive to me.
Do you think the patch is acceptable?

                                        Thanks for any comments
                                                                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-4-reisersmall/fs/reiserfs/super.c 
linux-2.6.10-rc2-mm1-5-reisersync/fs/reiserfs/super.c
--- linux-2.6.10-rc2-mm1-4-reisersmall/fs/reiserfs/super.c      2004-11-16 
16:40:53.000000000 +0100
+++ linux-2.6.10-rc2-mm1-5-reisersync/fs/reiserfs/super.c       2004-11-16 
17:07:32.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