[PATCH] VFS: Permit filesystem to override root dentry on mount
[deliverable/linux.git] / fs / jffs / inode-v23.c
index 890d7ff7456d090a73bdddf77b00858406179d8f..dd93a091ad67f0bccc9882a9f58907b58bfa2049 100644 (file)
@@ -55,9 +55,9 @@
 static int jffs_remove(struct inode *dir, struct dentry *dentry, int type);
 
 static struct super_operations jffs_ops;
-static struct file_operations jffs_file_operations;
+static const struct file_operations jffs_file_operations;
 static struct inode_operations jffs_file_inode_operations;
-static struct file_operations jffs_dir_operations;
+static const struct file_operations jffs_dir_operations;
 static struct inode_operations jffs_dir_inode_operations;
 static struct address_space_operations jffs_address_operations;
 
@@ -1629,7 +1629,7 @@ static int jffs_fsync(struct file *f, struct dentry *d, int datasync)
 }
 
 
-static struct file_operations jffs_file_operations =
+static const struct file_operations jffs_file_operations =
 {
        .open           = generic_file_open,
        .llseek         = generic_file_llseek,
@@ -1649,7 +1649,7 @@ static struct inode_operations jffs_file_inode_operations =
 };
 
 
-static struct file_operations jffs_dir_operations =
+static const struct file_operations jffs_dir_operations =
 {
        .readdir        = jffs_readdir,
 };
@@ -1785,10 +1785,11 @@ static struct super_operations jffs_ops =
        .remount_fs     = jffs_remount,
 };
 
-static struct super_block *jffs_get_sb(struct file_system_type *fs_type,
-       int flags, const char *dev_name, void *data)
+static int jffs_get_sb(struct file_system_type *fs_type,
+       int flags, const char *dev_name, void *data, struct vfsmount *mnt)
 {
-       return get_sb_bdev(fs_type, flags, dev_name, data, jffs_fill_super);
+       return get_sb_bdev(fs_type, flags, dev_name, data, jffs_fill_super,
+                          mnt);
 }
 
 static struct file_system_type jffs_fs_type = {
@@ -1812,15 +1813,17 @@ init_jffs_fs(void)
        }
 #endif
        fm_cache = kmem_cache_create("jffs_fm", sizeof(struct jffs_fm),
-                                    0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, 
-                                    NULL, NULL);
+                      0,
+                      SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD,
+                      NULL, NULL);
        if (!fm_cache) {
                return -ENOMEM;
        }
 
        node_cache = kmem_cache_create("jffs_node",sizeof(struct jffs_node),
-                                      0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, 
-                                      NULL, NULL);
+                      0,
+                      SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT|SLAB_MEM_SPREAD,
+                      NULL, NULL);
        if (!node_cache) {
                kmem_cache_destroy(fm_cache);
                return -ENOMEM;
This page took 0.050566 seconds and 5 git commands to generate.