Commit 82eaed2b authored by Al Viro's avatar Al Viro Committed by Anna Schumaker

nfs: merge xdev and remote file_system_type

they are identical now...
Reviewed-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent a55d3297
......@@ -388,7 +388,7 @@ extern int nfs_wait_atomic_killable(atomic_t *p, unsigned int mode);
/* super.c */
extern const struct super_operations nfs_sops;
extern struct file_system_type nfs_fs_type;
extern struct file_system_type nfs_xdev_fs_type;
extern struct file_system_type nfs_prepared_fs_type;
#if IS_ENABLED(CONFIG_NFS_V4)
extern struct file_system_type nfs4_referral_fs_type;
#endif
......
......@@ -257,7 +257,7 @@ struct vfsmount *nfs_do_submount(struct dentry *dentry, struct nfs_fh *fh,
if (IS_ERR(devname))
mnt = ERR_CAST(devname);
else
mnt = vfs_submount(dentry, &nfs_xdev_fs_type, devname, &mount_info);
mnt = vfs_submount(dentry, &nfs_prepared_fs_type, devname, &mount_info);
if (mount_info.server)
nfs_free_server(mount_info.server);
......
......@@ -18,19 +18,9 @@
static int nfs4_write_inode(struct inode *inode, struct writeback_control *wbc);
static void nfs4_evict_inode(struct inode *inode);
static struct dentry *nfs4_remote_mount(struct file_system_type *fs_type,
int flags, const char *dev_name, void *raw_data);
static struct dentry *nfs4_referral_mount(struct file_system_type *fs_type,
int flags, const char *dev_name, void *raw_data);
static struct file_system_type nfs4_remote_fs_type = {
.owner = THIS_MODULE,
.name = "nfs4",
.mount = nfs4_remote_mount,
.kill_sb = nfs_kill_super,
.fs_flags = FS_RENAME_DOES_D_MOVE|FS_BINARY_MOUNTDATA,
};
struct file_system_type nfs4_referral_fs_type = {
.owner = THIS_MODULE,
.name = "nfs4",
......@@ -91,16 +81,6 @@ static void nfs4_evict_inode(struct inode *inode)
nfs_clear_inode(inode);
}
/*
* Get the superblock for the NFS4 root partition
*/
static struct dentry *
nfs4_remote_mount(struct file_system_type *fs_type, int flags,
const char *dev_name, void *info)
{
return nfs_fs_mount_common(flags, dev_name, info);
}
struct nfs_referral_count {
struct list_head list;
const struct task_struct *task;
......@@ -194,7 +174,7 @@ static struct dentry *do_nfs4_mount(struct nfs_server *server, int flags,
else
snprintf(root_devname, len, "%s:/", hostname);
info->server = server;
root_mnt = vfs_kern_mount(&nfs4_remote_fs_type, flags, root_devname, info);
root_mnt = vfs_kern_mount(&nfs_prepared_fs_type, flags, root_devname, info);
if (info->server)
nfs_free_server(info->server);
info->server = NULL;
......
......@@ -293,7 +293,7 @@ static match_table_t nfs_vers_tokens = {
{ Opt_vers_err, NULL }
};
static struct dentry *nfs_xdev_mount(struct file_system_type *fs_type,
static struct dentry *nfs_prepared_mount(struct file_system_type *fs_type,
int flags, const char *dev_name, void *raw_data);
struct file_system_type nfs_fs_type = {
......@@ -306,13 +306,14 @@ struct file_system_type nfs_fs_type = {
MODULE_ALIAS_FS("nfs");
EXPORT_SYMBOL_GPL(nfs_fs_type);
struct file_system_type nfs_xdev_fs_type = {
struct file_system_type nfs_prepared_fs_type = {
.owner = THIS_MODULE,
.name = "nfs",
.mount = nfs_xdev_mount,
.mount = nfs_prepared_mount,
.kill_sb = nfs_kill_super,
.fs_flags = FS_RENAME_DOES_D_MOVE|FS_BINARY_MOUNTDATA,
};
EXPORT_SYMBOL_GPL(nfs_prepared_fs_type);
const struct super_operations nfs_sops = {
.alloc_inode = nfs_alloc_inode,
......@@ -2791,10 +2792,11 @@ void nfs_kill_super(struct super_block *s)
EXPORT_SYMBOL_GPL(nfs_kill_super);
/*
* Clone an NFS2/3/4 server record on xdev traversal (FSID-change)
* Internal use only: mount_info is already set up by caller.
* Used for mountpoint crossings and for nfs4 root.
*/
static struct dentry *
nfs_xdev_mount(struct file_system_type *fs_type, int flags,
nfs_prepared_mount(struct file_system_type *fs_type, int flags,
const char *dev_name, void *raw_data)
{
return nfs_fs_mount_common(flags, dev_name, raw_data);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment