upgrade to linux 2.6.10-1.12_FC2
[linux-2.6.git] / fs / jffs2 / super.c
index 257a06e..678f7c9 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id: super.c,v 1.99 2004/08/24 07:59:57 dwmw2 Exp $
+ * $Id: super.c,v 1.102 2004/11/12 02:42:17 tpoynor Exp $
  *
  */
 
@@ -56,6 +56,16 @@ static void jffs2_i_init_once(void * foo, kmem_cache_t * cachep, unsigned long f
        }
 }
 
+static int jffs2_sync_fs(struct super_block *sb, int wait)
+{
+       struct jffs2_sb_info *c = JFFS2_SB_INFO(sb);
+
+       down(&c->alloc_sem);
+       jffs2_flush_wbuf_pad(c);
+       up(&c->alloc_sem);      
+       return 0;
+}
+
 static struct super_operations jffs2_super_operations =
 {
        .alloc_inode =  jffs2_alloc_inode,
@@ -67,6 +77,7 @@ static struct super_operations jffs2_super_operations =
        .remount_fs =   jffs2_remount_fs,
        .clear_inode =  jffs2_clear_inode,
        .dirty_inode =  jffs2_dirty_inode,
+       .sync_fs =      jffs2_sync_fs,
 };
 
 static int jffs2_sb_compare(struct super_block *sb, void *data)