summaryrefslogtreecommitdiffstatshomepage
path: root/mm
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-07-19 09:42:02 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2019-07-19 09:42:02 -0800
commit933a90bf4f3505f8ec83bda21a3c7d70d7c2b426 (patch)
treeca81c209000a15670e3582760ad9bae1a9cde215 /mm
parent5f4fc6d440d77a2cf74fe4ea56955674ac7e35e7 (diff)
parent037f11b4752f717201143a1dc5d6acf3cb71ddfa (diff)
downloadlinux-stable-933a90bf4f3505f8ec83bda21a3c7d70d7c2b426.tar.gz
linux-stable-933a90bf4f3505f8ec83bda21a3c7d70d7c2b426.tar.bz2
linux-stable-933a90bf4f3505f8ec83bda21a3c7d70d7c2b426.tar.xz
linux-stable-933a90bf4f3505f8ec83bda21a3c7d70d7c2b426.zip
Merge branch 'work.mount0' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs mount updates from Al Viro: "The first part of mount updates. Convert filesystems to use the new mount API" * 'work.mount0' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (63 commits) mnt_init(): call shmem_init() unconditionally constify ksys_mount() string arguments don't bother with registering rootfs init_rootfs(): don't bother with init_ramfs_fs() vfs: Convert smackfs to use the new mount API vfs: Convert selinuxfs to use the new mount API vfs: Convert securityfs to use the new mount API vfs: Convert apparmorfs to use the new mount API vfs: Convert openpromfs to use the new mount API vfs: Convert xenfs to use the new mount API vfs: Convert gadgetfs to use the new mount API vfs: Convert oprofilefs to use the new mount API vfs: Convert ibmasmfs to use the new mount API vfs: Convert qib_fs/ipathfs to use the new mount API vfs: Convert efivarfs to use the new mount API vfs: Convert configfs to use the new mount API vfs: Convert binfmt_misc to use the new mount API convenience helper: get_tree_single() convenience helper get_tree_nodev() vfs: Kill sget_userns() ...
Diffstat (limited to 'mm')
-rw-r--r--mm/shmem.c4
-rw-r--r--mm/z3fold.c14
-rw-r--r--mm/zsmalloc.c12
3 files changed, 9 insertions, 21 deletions
diff --git a/mm/shmem.c b/mm/shmem.c
index c88a30919ae5..626d8c74b973 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -3777,10 +3777,6 @@ int __init shmem_init(void)
3777{ 3777{
3778 int error; 3778 int error;
3779 3779
3780 /* If rootfs called this, don't re-init */
3781 if (shmem_inode_cachep)
3782 return 0;
3783
3784 shmem_init_inodecache(); 3780 shmem_init_inodecache();
3785 3781
3786 error = register_filesystem(&shmem_fs_type); 3782 error = register_filesystem(&shmem_fs_type);
diff --git a/mm/z3fold.c b/mm/z3fold.c
index 6c72b18d8b9c..1a029a7432ee 100644
--- a/mm/z3fold.c
+++ b/mm/z3fold.c
@@ -26,7 +26,6 @@
26#include <linux/atomic.h> 26#include <linux/atomic.h>
27#include <linux/sched.h> 27#include <linux/sched.h>
28#include <linux/cpumask.h> 28#include <linux/cpumask.h>
29#include <linux/dcache.h>
30#include <linux/list.h> 29#include <linux/list.h>
31#include <linux/mm.h> 30#include <linux/mm.h>
32#include <linux/module.h> 31#include <linux/module.h>
@@ -36,12 +35,14 @@
36#include <linux/compaction.h> 35#include <linux/compaction.h>
37#include <linux/percpu.h> 36#include <linux/percpu.h>
38#include <linux/mount.h> 37#include <linux/mount.h>
38#include <linux/pseudo_fs.h>
39#include <linux/fs.h> 39#include <linux/fs.h>
40#include <linux/preempt.h> 40#include <linux/preempt.h>
41#include <linux/workqueue.h> 41#include <linux/workqueue.h>
42#include <linux/slab.h> 42#include <linux/slab.h>
43#include <linux/spinlock.h> 43#include <linux/spinlock.h>
44#include <linux/zpool.h> 44#include <linux/zpool.h>
45#include <linux/magic.h>
45 46
46/* 47/*
47 * NCHUNKS_ORDER determines the internal allocation granularity, effectively 48 * NCHUNKS_ORDER determines the internal allocation granularity, effectively
@@ -245,19 +246,14 @@ static inline void free_handle(unsigned long handle)
245 } 246 }
246} 247}
247 248
248static struct dentry *z3fold_do_mount(struct file_system_type *fs_type, 249static int z3fold_init_fs_context(struct fs_context *fc)
249 int flags, const char *dev_name, void *data)
250{ 250{
251 static const struct dentry_operations ops = { 251 return init_pseudo(fc, Z3FOLD_MAGIC) ? 0 : -ENOMEM;
252 .d_dname = simple_dname,
253 };
254
255 return mount_pseudo(fs_type, "z3fold:", NULL, &ops, 0x33);
256} 252}
257 253
258static struct file_system_type z3fold_fs = { 254static struct file_system_type z3fold_fs = {
259 .name = "z3fold", 255 .name = "z3fold",
260 .mount = z3fold_do_mount, 256 .init_fs_context = z3fold_init_fs_context,
261 .kill_sb = kill_anon_super, 257 .kill_sb = kill_anon_super,
262}; 258};
263 259
diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
index db09eb3669c5..57fbb7ced69f 100644
--- a/mm/zsmalloc.c
+++ b/mm/zsmalloc.c
@@ -52,6 +52,7 @@
52#include <linux/zsmalloc.h> 52#include <linux/zsmalloc.h>
53#include <linux/zpool.h> 53#include <linux/zpool.h>
54#include <linux/mount.h> 54#include <linux/mount.h>
55#include <linux/pseudo_fs.h>
55#include <linux/migrate.h> 56#include <linux/migrate.h>
56#include <linux/pagemap.h> 57#include <linux/pagemap.h>
57#include <linux/fs.h> 58#include <linux/fs.h>
@@ -1798,19 +1799,14 @@ static void lock_zspage(struct zspage *zspage)
1798 } while ((page = get_next_page(page)) != NULL); 1799 } while ((page = get_next_page(page)) != NULL);
1799} 1800}
1800 1801
1801static struct dentry *zs_mount(struct file_system_type *fs_type, 1802static int zs_init_fs_context(struct fs_context *fc)
1802 int flags, const char *dev_name, void *data)
1803{ 1803{
1804 static const struct dentry_operations ops = { 1804 return init_pseudo(fc, ZSMALLOC_MAGIC) ? 0 : -ENOMEM;
1805 .d_dname = simple_dname,
1806 };
1807
1808 return mount_pseudo(fs_type, "zsmalloc:", NULL, &ops, ZSMALLOC_MAGIC);
1809} 1805}
1810 1806
1811static struct file_system_type zsmalloc_fs = { 1807static struct file_system_type zsmalloc_fs = {
1812 .name = "zsmalloc", 1808 .name = "zsmalloc",
1813 .mount = zs_mount, 1809 .init_fs_context = zs_init_fs_context,
1814 .kill_sb = kill_anon_super, 1810 .kill_sb = kill_anon_super,
1815}; 1811};
1816 1812