[PATCH 08/38] vfs: Convert zsmalloc to fs_context

From: David Howells
Date: Thu Mar 14 2019 - 12:10:05 EST


Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
cc: Minchan Kim <minchan@xxxxxxxxxx>
cc: Nitin Gupta <ngupta@xxxxxxxxxx>
cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx>
cc: linux-mm@xxxxxxxxx
---

mm/zsmalloc.c | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
index 0787d33b80d8..02bfc7f70fab 100644
--- a/mm/zsmalloc.c
+++ b/mm/zsmalloc.c
@@ -52,6 +52,7 @@
#include <linux/zsmalloc.h>
#include <linux/zpool.h>
#include <linux/mount.h>
+#include <linux/fs_context.h>
#include <linux/migrate.h>
#include <linux/pagemap.h>
#include <linux/fs.h>
@@ -1814,19 +1815,21 @@ static void lock_zspage(struct zspage *zspage)
} while ((page = get_next_page(page)) != NULL);
}

-static struct dentry *zs_mount(struct file_system_type *fs_type,
- int flags, const char *dev_name, void *data)
-{
- static const struct dentry_operations ops = {
- .d_dname = simple_dname,
- };
+static const struct dentry_operations zs_dentry_operations = {
+ .d_dname = simple_dname,
+};

- return mount_pseudo(fs_type, "zsmalloc:", NULL, &ops, ZSMALLOC_MAGIC);
+
+static int zs_init_fs_context(struct fs_context *fc)
+{
+ return vfs_init_pseudo_fs_context(fc, "zsmalloc:",
+ NULL, NULL,
+ &zs_dentry_operations, ZSMALLOC_MAGIC);
}

static struct file_system_type zsmalloc_fs = {
.name = "zsmalloc",
- .mount = zs_mount,
+ .init_fs_context = zs_init_fs_context,
.kill_sb = kill_anon_super,
};