vfs: Convert securityfs to use the new mount API
[linux-2.6-block.git] / security / inode.c
index aacc4dabba7df9fcd62ff96d0fb57c0352b75412..70f00064016d467d54651e7bce03d21644d31d32 100644 (file)
@@ -16,6 +16,7 @@
 #include <linux/sysfs.h>
 #include <linux/kobject.h>
 #include <linux/fs.h>
+#include <linux/fs_context.h>
 #include <linux/mount.h>
 #include <linux/pagemap.h>
 #include <linux/init.h>
@@ -39,7 +40,7 @@ static const struct super_operations securityfs_super_operations = {
        .free_inode     = securityfs_free_inode,
 };
 
-static int fill_super(struct super_block *sb, void *data, int silent)
+static int securityfs_fill_super(struct super_block *sb, struct fs_context *fc)
 {
        static const struct tree_descr files[] = {{""}};
        int error;
@@ -53,17 +54,25 @@ static int fill_super(struct super_block *sb, void *data, int silent)
        return 0;
 }
 
-static struct dentry *get_sb(struct file_system_type *fs_type,
-                 int flags, const char *dev_name,
-                 void *data)
+static int securityfs_get_tree(struct fs_context *fc)
 {
-       return mount_single(fs_type, flags, data, fill_super);
+       return get_tree_single(fc, securityfs_fill_super);
+}
+
+static const struct fs_context_operations securityfs_context_ops = {
+       .get_tree       = securityfs_get_tree,
+};
+
+static int securityfs_init_fs_context(struct fs_context *fc)
+{
+       fc->ops = &securityfs_context_ops;
+       return 0;
 }
 
 static struct file_system_type fs_type = {
        .owner =        THIS_MODULE,
        .name =         "securityfs",
-       .mount =        get_sb,
+       .init_fs_context = securityfs_init_fs_context,
        .kill_sb =      kill_litter_super,
 };