loop: fix NULL dereference if mount fails
[safe/jmp/linux-2.6] / fs / jffs2 / super.c
index f7bfd3a..9a80e8e 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/slab.h>
+#include <linux/smp_lock.h>
 #include <linux/init.h>
 #include <linux/list.h>
 #include <linux/fs.h>
@@ -74,6 +75,8 @@ static int jffs2_sync_fs(struct super_block *sb, int wait)
 {
        struct jffs2_sb_info *c = JFFS2_SB_INFO(sb);
 
+       jffs2_write_super(sb);
+
        mutex_lock(&c->alloc_sem);
        jffs2_flush_wbuf_pad(c);
        mutex_unlock(&c->alloc_sem);
@@ -120,7 +123,7 @@ static struct dentry *jffs2_get_parent(struct dentry *child)
        return d_obtain_alias(jffs2_iget(child->d_inode->i_sb, pino));
 }
 
-static struct export_operations jffs2_export_ops = {
+static const struct export_operations jffs2_export_ops = {
        .get_parent = jffs2_get_parent,
        .fh_to_dentry = jffs2_fh_to_dentry,
        .fh_to_parent = jffs2_fh_to_parent,