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() ...
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
#include <misc/cxl.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/mount.h>
|
||||
#include <linux/pseudo_fs.h>
|
||||
#include <linux/sched/mm.h>
|
||||
#include <linux/mmu_context.h>
|
||||
|
||||
@@ -33,21 +34,15 @@
|
||||
static int cxl_fs_cnt;
|
||||
static struct vfsmount *cxl_vfs_mount;
|
||||
|
||||
static const struct dentry_operations cxl_fs_dops = {
|
||||
.d_dname = simple_dname,
|
||||
};
|
||||
|
||||
static struct dentry *cxl_fs_mount(struct file_system_type *fs_type, int flags,
|
||||
const char *dev_name, void *data)
|
||||
static int cxl_fs_init_fs_context(struct fs_context *fc)
|
||||
{
|
||||
return mount_pseudo(fs_type, "cxl:", NULL, &cxl_fs_dops,
|
||||
CXL_PSEUDO_FS_MAGIC);
|
||||
return init_pseudo(fc, CXL_PSEUDO_FS_MAGIC) ? 0 : -ENOMEM;
|
||||
}
|
||||
|
||||
static struct file_system_type cxl_fs_type = {
|
||||
.name = "cxl",
|
||||
.owner = THIS_MODULE,
|
||||
.mount = cxl_fs_mount,
|
||||
.init_fs_context = cxl_fs_init_fs_context,
|
||||
.kill_sb = kill_anon_super,
|
||||
};
|
||||
|
||||
|
@@ -60,6 +60,7 @@
|
||||
*/
|
||||
|
||||
#include <linux/fs.h>
|
||||
#include <linux/fs_context.h>
|
||||
#include <linux/pagemap.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/uaccess.h>
|
||||
@@ -74,13 +75,21 @@ static LIST_HEAD(service_processors);
|
||||
|
||||
static struct inode *ibmasmfs_make_inode(struct super_block *sb, int mode);
|
||||
static void ibmasmfs_create_files (struct super_block *sb);
|
||||
static int ibmasmfs_fill_super (struct super_block *sb, void *data, int silent);
|
||||
static int ibmasmfs_fill_super(struct super_block *sb, struct fs_context *fc);
|
||||
|
||||
|
||||
static struct dentry *ibmasmfs_mount(struct file_system_type *fst,
|
||||
int flags, const char *name, void *data)
|
||||
static int ibmasmfs_get_tree(struct fs_context *fc)
|
||||
{
|
||||
return mount_single(fst, flags, data, ibmasmfs_fill_super);
|
||||
return get_tree_single(fc, ibmasmfs_fill_super);
|
||||
}
|
||||
|
||||
static const struct fs_context_operations ibmasmfs_context_ops = {
|
||||
.get_tree = ibmasmfs_get_tree,
|
||||
};
|
||||
|
||||
static int ibmasmfs_init_fs_context(struct fs_context *fc)
|
||||
{
|
||||
fc->ops = &ibmasmfs_context_ops;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct super_operations ibmasmfs_s_ops = {
|
||||
@@ -93,12 +102,12 @@ static const struct file_operations *ibmasmfs_dir_ops = &simple_dir_operations;
|
||||
static struct file_system_type ibmasmfs_type = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = "ibmasmfs",
|
||||
.mount = ibmasmfs_mount,
|
||||
.init_fs_context = ibmasmfs_init_fs_context,
|
||||
.kill_sb = kill_litter_super,
|
||||
};
|
||||
MODULE_ALIAS_FS("ibmasmfs");
|
||||
|
||||
static int ibmasmfs_fill_super (struct super_block *sb, void *data, int silent)
|
||||
static int ibmasmfs_fill_super(struct super_block *sb, struct fs_context *fc)
|
||||
{
|
||||
struct inode *root;
|
||||
|
||||
|
@@ -29,6 +29,7 @@
|
||||
#include <linux/slab.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/mount.h>
|
||||
#include <linux/pseudo_fs.h>
|
||||
#include <linux/balloon_compaction.h>
|
||||
#include <linux/vmw_vmci_defs.h>
|
||||
#include <linux/vmw_vmci_api.h>
|
||||
@@ -1728,22 +1729,15 @@ static inline void vmballoon_debugfs_exit(struct vmballoon *b)
|
||||
|
||||
#ifdef CONFIG_BALLOON_COMPACTION
|
||||
|
||||
static struct dentry *vmballoon_mount(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name,
|
||||
void *data)
|
||||
static int vmballoon_init_fs_context(struct fs_context *fc)
|
||||
{
|
||||
static const struct dentry_operations ops = {
|
||||
.d_dname = simple_dname,
|
||||
};
|
||||
|
||||
return mount_pseudo(fs_type, "balloon-vmware:", NULL, &ops,
|
||||
BALLOON_VMW_MAGIC);
|
||||
return init_pseudo(fc, BALLOON_VMW_MAGIC) ? 0 : -ENOMEM;
|
||||
}
|
||||
|
||||
static struct file_system_type vmballoon_fs = {
|
||||
.name = "balloon-vmware",
|
||||
.mount = vmballoon_mount,
|
||||
.kill_sb = kill_anon_super,
|
||||
.name = "balloon-vmware",
|
||||
.init_fs_context = vmballoon_init_fs_context,
|
||||
.kill_sb = kill_anon_super,
|
||||
};
|
||||
|
||||
static struct vfsmount *vmballoon_mnt;
|
||||
|
Reference in New Issue
Block a user