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

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
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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);
+1 −21
Original line number Diff line number Diff line
@@ -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;
+8 −6
Original line number Diff line number Diff line
@@ -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);