mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 04:34:08 +08:00
convert get_sb_nodev() users
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
fc14f2fef6
commit
3c26ff6e49
@ -14,16 +14,16 @@
|
||||
#include <linux/init.h>
|
||||
#include "autofs_i.h"
|
||||
|
||||
static int autofs_get_sb(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data, struct vfsmount *mnt)
|
||||
static struct dentry *autofs_mount(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data)
|
||||
{
|
||||
return get_sb_nodev(fs_type, flags, data, autofs_fill_super, mnt);
|
||||
return mount_nodev(fs_type, flags, data, autofs_fill_super);
|
||||
}
|
||||
|
||||
static struct file_system_type autofs_fs_type = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = "autofs",
|
||||
.get_sb = autofs_get_sb,
|
||||
.mount = autofs_mount,
|
||||
.kill_sb = autofs_kill_sb,
|
||||
};
|
||||
|
||||
|
@ -1937,11 +1937,10 @@ err_out_exit:
|
||||
/*
|
||||
* Some VFS magic here...
|
||||
*/
|
||||
static int pohmelfs_get_sb(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data, struct vfsmount *mnt)
|
||||
static struct dentry *pohmelfs_mount(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data)
|
||||
{
|
||||
return get_sb_nodev(fs_type, flags, data, pohmelfs_fill_super,
|
||||
mnt);
|
||||
return mount_nodev(fs_type, flags, data, pohmelfs_fill_super);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1958,7 +1957,7 @@ static void pohmelfs_kill_super(struct super_block *sb)
|
||||
static struct file_system_type pohmel_fs_type = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = "pohmel",
|
||||
.get_sb = pohmelfs_get_sb,
|
||||
.mount = pohmelfs_mount,
|
||||
.kill_sb = pohmelfs_kill_super,
|
||||
};
|
||||
|
||||
|
@ -793,16 +793,16 @@ out:
|
||||
return error;
|
||||
}
|
||||
|
||||
static int smb_get_sb(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data, struct vfsmount *mnt)
|
||||
static struct dentry *smb_mount(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data)
|
||||
{
|
||||
return get_sb_nodev(fs_type, flags, data, smb_fill_super, mnt);
|
||||
return mount_nodev(fs_type, flags, data, smb_fill_super);
|
||||
}
|
||||
|
||||
static struct file_system_type smb_fs_type = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = "smbfs",
|
||||
.get_sb = smb_get_sb,
|
||||
.mount = smb_mount,
|
||||
.kill_sb = kill_anon_super,
|
||||
.fs_flags = FS_BINARY_MOUNTDATA,
|
||||
};
|
||||
|
@ -14,16 +14,16 @@
|
||||
#include <linux/init.h>
|
||||
#include "autofs_i.h"
|
||||
|
||||
static int autofs_get_sb(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data, struct vfsmount *mnt)
|
||||
static struct dentry *autofs_mount(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data)
|
||||
{
|
||||
return get_sb_nodev(fs_type, flags, data, autofs4_fill_super, mnt);
|
||||
return mount_nodev(fs_type, flags, data, autofs4_fill_super);
|
||||
}
|
||||
|
||||
static struct file_system_type autofs_fs_type = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = "autofs",
|
||||
.get_sb = autofs_get_sb,
|
||||
.mount = autofs_mount,
|
||||
.kill_sb = autofs4_kill_sb,
|
||||
};
|
||||
|
||||
|
@ -306,16 +306,16 @@ static int coda_statfs(struct dentry *dentry, struct kstatfs *buf)
|
||||
|
||||
/* init_coda: used by filesystems.c to register coda */
|
||||
|
||||
static int coda_get_sb(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data, struct vfsmount *mnt)
|
||||
static struct dentry *coda_mount(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data)
|
||||
{
|
||||
return get_sb_nodev(fs_type, flags, data, coda_fill_super, mnt);
|
||||
return mount_nodev(fs_type, flags, data, coda_fill_super);
|
||||
}
|
||||
|
||||
struct file_system_type coda_fs_type = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = "coda",
|
||||
.get_sb = coda_get_sb,
|
||||
.mount = coda_mount,
|
||||
.kill_sb = kill_anon_super,
|
||||
.fs_flags = FS_BINARY_MOUNTDATA,
|
||||
};
|
||||
|
@ -659,19 +659,19 @@ free_bdi:
|
||||
/*
|
||||
* Set up the superblock (calls exofs_fill_super eventually)
|
||||
*/
|
||||
static int exofs_get_sb(struct file_system_type *type,
|
||||
static struct dentry *exofs_mount(struct file_system_type *type,
|
||||
int flags, const char *dev_name,
|
||||
void *data, struct vfsmount *mnt)
|
||||
void *data)
|
||||
{
|
||||
struct exofs_mountopt opts;
|
||||
int ret;
|
||||
|
||||
ret = parse_options(data, &opts);
|
||||
if (ret)
|
||||
return ret;
|
||||
return ERR_PTR(ret);
|
||||
|
||||
opts.dev_name = dev_name;
|
||||
return get_sb_nodev(type, flags, &opts, exofs_fill_super, mnt);
|
||||
return mount_nodev(type, flags, &opts, exofs_fill_super);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -809,7 +809,7 @@ static const struct export_operations exofs_export_ops = {
|
||||
static struct file_system_type exofs_type = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = "exofs",
|
||||
.get_sb = exofs_get_sb,
|
||||
.mount = exofs_mount,
|
||||
.kill_sb = generic_shutdown_super,
|
||||
};
|
||||
|
||||
|
@ -1041,11 +1041,11 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent)
|
||||
return err;
|
||||
}
|
||||
|
||||
static int fuse_get_sb(struct file_system_type *fs_type,
|
||||
static struct dentry *fuse_mount(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name,
|
||||
void *raw_data, struct vfsmount *mnt)
|
||||
void *raw_data)
|
||||
{
|
||||
return get_sb_nodev(fs_type, flags, raw_data, fuse_fill_super, mnt);
|
||||
return mount_nodev(fs_type, flags, raw_data, fuse_fill_super);
|
||||
}
|
||||
|
||||
static void fuse_kill_sb_anon(struct super_block *sb)
|
||||
@ -1065,7 +1065,7 @@ static struct file_system_type fuse_fs_type = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = "fuse",
|
||||
.fs_flags = FS_HAS_SUBTYPE,
|
||||
.get_sb = fuse_get_sb,
|
||||
.mount = fuse_mount,
|
||||
.kill_sb = fuse_kill_sb_anon,
|
||||
};
|
||||
|
||||
|
@ -962,11 +962,11 @@ out:
|
||||
return err;
|
||||
}
|
||||
|
||||
static int hostfs_read_sb(struct file_system_type *type,
|
||||
static struct dentry *hostfs_read_sb(struct file_system_type *type,
|
||||
int flags, const char *dev_name,
|
||||
void *data, struct vfsmount *mnt)
|
||||
void *data)
|
||||
{
|
||||
return get_sb_nodev(type, flags, data, hostfs_fill_sb_common, mnt);
|
||||
return mount_nodev(type, flags, data, hostfs_fill_sb_common);
|
||||
}
|
||||
|
||||
static void hostfs_kill_sb(struct super_block *s)
|
||||
@ -978,7 +978,7 @@ static void hostfs_kill_sb(struct super_block *s)
|
||||
static struct file_system_type hostfs_type = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = "hostfs",
|
||||
.get_sb = hostfs_read_sb,
|
||||
.mount = hostfs_read_sb,
|
||||
.kill_sb = hostfs_kill_sb,
|
||||
.fs_flags = 0,
|
||||
};
|
||||
|
@ -748,17 +748,17 @@ static int hppfs_fill_super(struct super_block *sb, void *d, int silent)
|
||||
return(err);
|
||||
}
|
||||
|
||||
static int hppfs_read_super(struct file_system_type *type,
|
||||
static struct dentry *hppfs_read_super(struct file_system_type *type,
|
||||
int flags, const char *dev_name,
|
||||
void *data, struct vfsmount *mnt)
|
||||
void *data)
|
||||
{
|
||||
return get_sb_nodev(type, flags, data, hppfs_fill_super, mnt);
|
||||
return mount_nodev(type, flags, data, hppfs_fill_super);
|
||||
}
|
||||
|
||||
static struct file_system_type hppfs_type = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = "hppfs",
|
||||
.get_sb = hppfs_read_super,
|
||||
.mount = hppfs_read_super,
|
||||
.kill_sb = kill_anon_super,
|
||||
.fs_flags = 0,
|
||||
};
|
||||
|
@ -896,15 +896,15 @@ void hugetlb_put_quota(struct address_space *mapping, long delta)
|
||||
}
|
||||
}
|
||||
|
||||
static int hugetlbfs_get_sb(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data, struct vfsmount *mnt)
|
||||
static struct dentry *hugetlbfs_mount(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data)
|
||||
{
|
||||
return get_sb_nodev(fs_type, flags, data, hugetlbfs_fill_super, mnt);
|
||||
return mount_nodev(fs_type, flags, data, hugetlbfs_fill_super);
|
||||
}
|
||||
|
||||
static struct file_system_type hugetlbfs_fs_type = {
|
||||
.name = "hugetlbfs",
|
||||
.get_sb = hugetlbfs_get_sb,
|
||||
.mount = hugetlbfs_mount,
|
||||
.kill_sb = kill_litter_super,
|
||||
};
|
||||
|
||||
|
@ -1020,16 +1020,16 @@ out:
|
||||
return result;
|
||||
}
|
||||
|
||||
static int ncp_get_sb(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data, struct vfsmount *mnt)
|
||||
static struct dentry *ncp_mount(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data)
|
||||
{
|
||||
return get_sb_nodev(fs_type, flags, data, ncp_fill_super, mnt);
|
||||
return mount_nodev(fs_type, flags, data, ncp_fill_super);
|
||||
}
|
||||
|
||||
static struct file_system_type ncp_fs_type = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = "ncpfs",
|
||||
.get_sb = ncp_get_sb,
|
||||
.mount = ncp_mount,
|
||||
.kill_sb = kill_anon_super,
|
||||
.fs_flags = FS_BINARY_MOUNTDATA,
|
||||
};
|
||||
|
@ -643,16 +643,16 @@ static const struct inode_operations dlmfs_file_inode_operations = {
|
||||
.setattr = dlmfs_file_setattr,
|
||||
};
|
||||
|
||||
static int dlmfs_get_sb(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data, struct vfsmount *mnt)
|
||||
static struct dentry *dlmfs_mount(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data)
|
||||
{
|
||||
return get_sb_nodev(fs_type, flags, data, dlmfs_fill_super, mnt);
|
||||
return mount_nodev(fs_type, flags, data, dlmfs_fill_super);
|
||||
}
|
||||
|
||||
static struct file_system_type dlmfs_fs_type = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = "ocfs2_dlmfs",
|
||||
.get_sb = dlmfs_get_sb,
|
||||
.mount = dlmfs_mount,
|
||||
.kill_sb = kill_litter_super,
|
||||
};
|
||||
|
||||
|
@ -255,17 +255,16 @@ fail:
|
||||
return err;
|
||||
}
|
||||
|
||||
int ramfs_get_sb(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data, struct vfsmount *mnt)
|
||||
struct dentry *ramfs_mount(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data)
|
||||
{
|
||||
return get_sb_nodev(fs_type, flags, data, ramfs_fill_super, mnt);
|
||||
return mount_nodev(fs_type, flags, data, ramfs_fill_super);
|
||||
}
|
||||
|
||||
static int rootfs_get_sb(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data, struct vfsmount *mnt)
|
||||
static struct dentry *rootfs_mount(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data)
|
||||
{
|
||||
return get_sb_nodev(fs_type, flags|MS_NOUSER, data, ramfs_fill_super,
|
||||
mnt);
|
||||
return mount_nodev(fs_type, flags|MS_NOUSER, data, ramfs_fill_super);
|
||||
}
|
||||
|
||||
static void ramfs_kill_sb(struct super_block *sb)
|
||||
@ -276,12 +275,12 @@ static void ramfs_kill_sb(struct super_block *sb)
|
||||
|
||||
static struct file_system_type ramfs_fs_type = {
|
||||
.name = "ramfs",
|
||||
.get_sb = ramfs_get_sb,
|
||||
.mount = ramfs_mount,
|
||||
.kill_sb = ramfs_kill_sb,
|
||||
};
|
||||
static struct file_system_type rootfs_fs_type = {
|
||||
.name = "rootfs",
|
||||
.get_sb = rootfs_get_sb,
|
||||
.mount = rootfs_mount,
|
||||
.kill_sb = kill_litter_super,
|
||||
};
|
||||
|
||||
|
27
fs/super.c
27
fs/super.c
@ -870,29 +870,42 @@ void kill_block_super(struct super_block *sb)
|
||||
EXPORT_SYMBOL(kill_block_super);
|
||||
#endif
|
||||
|
||||
int get_sb_nodev(struct file_system_type *fs_type,
|
||||
struct dentry *mount_nodev(struct file_system_type *fs_type,
|
||||
int flags, void *data,
|
||||
int (*fill_super)(struct super_block *, void *, int),
|
||||
struct vfsmount *mnt)
|
||||
int (*fill_super)(struct super_block *, void *, int))
|
||||
{
|
||||
int error;
|
||||
struct super_block *s = sget(fs_type, NULL, set_anon_super, NULL);
|
||||
|
||||
if (IS_ERR(s))
|
||||
return PTR_ERR(s);
|
||||
return ERR_CAST(s);
|
||||
|
||||
s->s_flags = flags;
|
||||
|
||||
error = fill_super(s, data, flags & MS_SILENT ? 1 : 0);
|
||||
if (error) {
|
||||
deactivate_locked_super(s);
|
||||
return error;
|
||||
return ERR_PTR(error);
|
||||
}
|
||||
s->s_flags |= MS_ACTIVE;
|
||||
simple_set_mnt(mnt, s);
|
||||
return dget(s->s_root);
|
||||
}
|
||||
EXPORT_SYMBOL(mount_nodev);
|
||||
|
||||
int get_sb_nodev(struct file_system_type *fs_type,
|
||||
int flags, void *data,
|
||||
int (*fill_super)(struct super_block *, void *, int),
|
||||
struct vfsmount *mnt)
|
||||
{
|
||||
struct dentry *root;
|
||||
|
||||
root = mount_nodev(fs_type, flags, data, fill_super);
|
||||
if (IS_ERR(root))
|
||||
return PTR_ERR(root);
|
||||
mnt->mnt_root = root;
|
||||
mnt->mnt_sb = root->d_sb;
|
||||
return 0;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(get_sb_nodev);
|
||||
|
||||
static int compare_single(struct super_block *s, void *p)
|
||||
|
@ -1806,6 +1806,9 @@ extern int get_sb_single(struct file_system_type *fs_type,
|
||||
int flags, void *data,
|
||||
int (*fill_super)(struct super_block *, void *, int),
|
||||
struct vfsmount *mnt);
|
||||
extern struct dentry *mount_nodev(struct file_system_type *fs_type,
|
||||
int flags, void *data,
|
||||
int (*fill_super)(struct super_block *, void *, int));
|
||||
extern int get_sb_nodev(struct file_system_type *fs_type,
|
||||
int flags, void *data,
|
||||
int (*fill_super)(struct super_block *, void *, int),
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
struct inode *ramfs_get_inode(struct super_block *sb, const struct inode *dir,
|
||||
int mode, dev_t dev);
|
||||
extern int ramfs_get_sb(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data, struct vfsmount *mnt);
|
||||
extern struct dentry *ramfs_mount(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data);
|
||||
|
||||
#ifndef CONFIG_MMU
|
||||
extern int ramfs_nommu_expand_for_mapping(struct inode *inode, size_t newsize);
|
||||
|
10
mm/shmem.c
10
mm/shmem.c
@ -2538,16 +2538,16 @@ static const struct vm_operations_struct shmem_vm_ops = {
|
||||
};
|
||||
|
||||
|
||||
static int shmem_get_sb(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data, struct vfsmount *mnt)
|
||||
static struct dentry *shmem_mount(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data)
|
||||
{
|
||||
return get_sb_nodev(fs_type, flags, data, shmem_fill_super, mnt);
|
||||
return mount_nodev(fs_type, flags, data, shmem_fill_super);
|
||||
}
|
||||
|
||||
static struct file_system_type tmpfs_fs_type = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = "tmpfs",
|
||||
.get_sb = shmem_get_sb,
|
||||
.mount = shmem_mount,
|
||||
.kill_sb = kill_litter_super,
|
||||
};
|
||||
|
||||
@ -2643,7 +2643,7 @@ out:
|
||||
|
||||
static struct file_system_type tmpfs_fs_type = {
|
||||
.name = "tmpfs",
|
||||
.get_sb = ramfs_get_sb,
|
||||
.mount = ramfs_mount,
|
||||
.kill_sb = kill_litter_super,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user