Loading fs/nfs/internal.h +2 −2 Original line number Diff line number Diff line Loading @@ -163,10 +163,10 @@ static inline void nfs_fs_proc_exit(void) /* nfs4namespace.c */ #ifdef CONFIG_NFS_V4 extern struct vfsmount *nfs_do_refmount(struct super_block *sb, struct dentry *dentry); extern struct vfsmount *nfs_do_refmount(struct dentry *dentry); #else static inline struct vfsmount *nfs_do_refmount(struct super_block *sb, struct dentry *dentry) struct vfsmount *nfs_do_refmount(struct dentry *dentry) { return ERR_PTR(-ENOENT); } Loading fs/nfs/namespace.c +6 −9 Original line number Diff line number Diff line Loading @@ -25,8 +25,7 @@ static LIST_HEAD(nfs_automount_list); static DECLARE_DELAYED_WORK(nfs_automount_task, nfs_expire_automounts); int nfs_mountpoint_expiry_timeout = 500 * HZ; static struct vfsmount *nfs_do_submount(struct super_block *sb, struct dentry *dentry, static struct vfsmount *nfs_do_submount(struct dentry *dentry, struct nfs_fh *fh, struct nfs_fattr *fattr); Loading Loading @@ -164,9 +163,9 @@ struct vfsmount *nfs_d_automount(struct path *path) } if (fattr->valid & NFS_ATTR_FATTR_V4_REFERRAL) mnt = nfs_do_refmount(path->mnt->mnt_sb, path->dentry); mnt = nfs_do_refmount(path->dentry); else mnt = nfs_do_submount(path->mnt->mnt_sb, path->dentry, fh, fattr); mnt = nfs_do_submount(path->dentry, fh, fattr); if (IS_ERR(mnt)) goto out; Loading Loading @@ -230,19 +229,17 @@ static struct vfsmount *nfs_do_clone_mount(struct nfs_server *server, /** * nfs_do_submount - set up mountpoint when crossing a filesystem boundary * @sb - superblock of parent directory * @dentry - parent directory * @fh - filehandle for new root dentry * @fattr - attributes for new root inode * */ static struct vfsmount *nfs_do_submount(struct super_block *sb, struct dentry *dentry, static struct vfsmount *nfs_do_submount(struct dentry *dentry, struct nfs_fh *fh, struct nfs_fattr *fattr) { struct nfs_clone_mount mountdata = { .sb = sb, .sb = dentry->d_sb, .dentry = dentry, .fh = fh, .fattr = fattr, Loading @@ -262,7 +259,7 @@ static struct vfsmount *nfs_do_submount(struct super_block *sb, mnt = (struct vfsmount *)devname; if (IS_ERR(devname)) goto free_page; mnt = nfs_do_clone_mount(NFS_SB(sb), devname, &mountdata); mnt = nfs_do_clone_mount(NFS_SB(dentry->d_sb), devname, &mountdata); free_page: free_page((unsigned long)page); out: Loading fs/nfs/nfs4namespace.c +5 −7 Original line number Diff line number Diff line Loading @@ -161,20 +161,18 @@ static struct vfsmount *try_location(struct nfs_clone_mount *mountdata, /** * nfs_follow_referral - set up mountpoint when hitting a referral on moved error * @sb - superblock of parent directory * @dentry - parent directory * @locations - array of NFSv4 server location information * */ static struct vfsmount *nfs_follow_referral(struct super_block *sb, struct dentry *dentry, static struct vfsmount *nfs_follow_referral(struct dentry *dentry, const struct nfs4_fs_locations *locations) { struct vfsmount *mnt = ERR_PTR(-ENOENT); struct nfs_clone_mount mountdata = { .sb = sb, .sb = dentry->d_sb, .dentry = dentry, .authflavor = NFS_SB(sb)->client->cl_auth->au_flavor, .authflavor = NFS_SB(dentry->d_sb)->client->cl_auth->au_flavor, }; char *page = NULL, *page2 = NULL; int loc, error; Loading Loading @@ -224,7 +222,7 @@ static struct vfsmount *nfs_follow_referral(struct super_block *sb, * @dentry - dentry of referral * */ struct vfsmount *nfs_do_refmount(struct super_block *sb, struct dentry *dentry) struct vfsmount *nfs_do_refmount(struct dentry *dentry) { struct vfsmount *mnt = ERR_PTR(-ENOMEM); struct dentry *parent; Loading Loading @@ -257,7 +255,7 @@ struct vfsmount *nfs_do_refmount(struct super_block *sb, struct dentry *dentry) fs_locations->fs_path.ncomponents <= 0) goto out_free; mnt = nfs_follow_referral(sb, dentry, fs_locations); mnt = nfs_follow_referral(dentry, fs_locations); out_free: __free_page(page); kfree(fs_locations); Loading Loading
fs/nfs/internal.h +2 −2 Original line number Diff line number Diff line Loading @@ -163,10 +163,10 @@ static inline void nfs_fs_proc_exit(void) /* nfs4namespace.c */ #ifdef CONFIG_NFS_V4 extern struct vfsmount *nfs_do_refmount(struct super_block *sb, struct dentry *dentry); extern struct vfsmount *nfs_do_refmount(struct dentry *dentry); #else static inline struct vfsmount *nfs_do_refmount(struct super_block *sb, struct dentry *dentry) struct vfsmount *nfs_do_refmount(struct dentry *dentry) { return ERR_PTR(-ENOENT); } Loading
fs/nfs/namespace.c +6 −9 Original line number Diff line number Diff line Loading @@ -25,8 +25,7 @@ static LIST_HEAD(nfs_automount_list); static DECLARE_DELAYED_WORK(nfs_automount_task, nfs_expire_automounts); int nfs_mountpoint_expiry_timeout = 500 * HZ; static struct vfsmount *nfs_do_submount(struct super_block *sb, struct dentry *dentry, static struct vfsmount *nfs_do_submount(struct dentry *dentry, struct nfs_fh *fh, struct nfs_fattr *fattr); Loading Loading @@ -164,9 +163,9 @@ struct vfsmount *nfs_d_automount(struct path *path) } if (fattr->valid & NFS_ATTR_FATTR_V4_REFERRAL) mnt = nfs_do_refmount(path->mnt->mnt_sb, path->dentry); mnt = nfs_do_refmount(path->dentry); else mnt = nfs_do_submount(path->mnt->mnt_sb, path->dentry, fh, fattr); mnt = nfs_do_submount(path->dentry, fh, fattr); if (IS_ERR(mnt)) goto out; Loading Loading @@ -230,19 +229,17 @@ static struct vfsmount *nfs_do_clone_mount(struct nfs_server *server, /** * nfs_do_submount - set up mountpoint when crossing a filesystem boundary * @sb - superblock of parent directory * @dentry - parent directory * @fh - filehandle for new root dentry * @fattr - attributes for new root inode * */ static struct vfsmount *nfs_do_submount(struct super_block *sb, struct dentry *dentry, static struct vfsmount *nfs_do_submount(struct dentry *dentry, struct nfs_fh *fh, struct nfs_fattr *fattr) { struct nfs_clone_mount mountdata = { .sb = sb, .sb = dentry->d_sb, .dentry = dentry, .fh = fh, .fattr = fattr, Loading @@ -262,7 +259,7 @@ static struct vfsmount *nfs_do_submount(struct super_block *sb, mnt = (struct vfsmount *)devname; if (IS_ERR(devname)) goto free_page; mnt = nfs_do_clone_mount(NFS_SB(sb), devname, &mountdata); mnt = nfs_do_clone_mount(NFS_SB(dentry->d_sb), devname, &mountdata); free_page: free_page((unsigned long)page); out: Loading
fs/nfs/nfs4namespace.c +5 −7 Original line number Diff line number Diff line Loading @@ -161,20 +161,18 @@ static struct vfsmount *try_location(struct nfs_clone_mount *mountdata, /** * nfs_follow_referral - set up mountpoint when hitting a referral on moved error * @sb - superblock of parent directory * @dentry - parent directory * @locations - array of NFSv4 server location information * */ static struct vfsmount *nfs_follow_referral(struct super_block *sb, struct dentry *dentry, static struct vfsmount *nfs_follow_referral(struct dentry *dentry, const struct nfs4_fs_locations *locations) { struct vfsmount *mnt = ERR_PTR(-ENOENT); struct nfs_clone_mount mountdata = { .sb = sb, .sb = dentry->d_sb, .dentry = dentry, .authflavor = NFS_SB(sb)->client->cl_auth->au_flavor, .authflavor = NFS_SB(dentry->d_sb)->client->cl_auth->au_flavor, }; char *page = NULL, *page2 = NULL; int loc, error; Loading Loading @@ -224,7 +222,7 @@ static struct vfsmount *nfs_follow_referral(struct super_block *sb, * @dentry - dentry of referral * */ struct vfsmount *nfs_do_refmount(struct super_block *sb, struct dentry *dentry) struct vfsmount *nfs_do_refmount(struct dentry *dentry) { struct vfsmount *mnt = ERR_PTR(-ENOMEM); struct dentry *parent; Loading Loading @@ -257,7 +255,7 @@ struct vfsmount *nfs_do_refmount(struct super_block *sb, struct dentry *dentry) fs_locations->fs_path.ncomponents <= 0) goto out_free; mnt = nfs_follow_referral(sb, dentry, fs_locations); mnt = nfs_follow_referral(dentry, fs_locations); out_free: __free_page(page); kfree(fs_locations); Loading