diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-07-19 09:42:02 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-07-19 09:42:02 -0800 |
| commit | 933a90bf4f3505f8ec83bda21a3c7d70d7c2b426 (patch) | |
| tree | ca81c209000a15670e3582760ad9bae1a9cde215 /mm | |
| parent | 5f4fc6d440d77a2cf74fe4ea56955674ac7e35e7 (diff) | |
| parent | 037f11b4752f717201143a1dc5d6acf3cb71ddfa (diff) | |
| download | linux-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.c | 4 | ||||
| -rw-r--r-- | mm/z3fold.c | 14 | ||||
| -rw-r--r-- | mm/zsmalloc.c | 12 |
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 | ||
| 248 | static struct dentry *z3fold_do_mount(struct file_system_type *fs_type, | 249 | static 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 | ||
| 258 | static struct file_system_type z3fold_fs = { | 254 | static 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 | ||
| 1801 | static struct dentry *zs_mount(struct file_system_type *fs_type, | 1802 | static 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 | ||
| 1811 | static struct file_system_type zsmalloc_fs = { | 1807 | static 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 | ||
