diff options
author | Bryan Schumaker <bjschuma@netapp.com> | 2011-03-24 13:12:24 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2011-03-24 13:52:41 -0400 |
commit | 7c5130588d691a3b34d02312f1bd1b6d56fe0100 (patch) | |
tree | 154ccea3a837ca1aae2c5676e0946b79fb4bb671 /fs/nfs/dir.c | |
parent | e73b83f270828630a9ce33728f6ef61c37a82340 (diff) |
NFS: lookup supports alternate client
A later patch will need to perform a lookup using an
alternate client with a different security flavor.
This patch adds support for doing that on NFS v4.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/dir.c')
-rw-r--r-- | fs/nfs/dir.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index abdf38d5971d..a83cd0d9dfab 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c | |||
@@ -1068,7 +1068,7 @@ static int nfs_lookup_revalidate(struct dentry *dentry, struct nameidata *nd) | |||
1068 | if (fhandle == NULL || fattr == NULL) | 1068 | if (fhandle == NULL || fattr == NULL) |
1069 | goto out_error; | 1069 | goto out_error; |
1070 | 1070 | ||
1071 | error = NFS_PROTO(dir)->lookup(dir, &dentry->d_name, fhandle, fattr); | 1071 | error = NFS_PROTO(dir)->lookup(NFS_SERVER(dir)->client, dir, &dentry->d_name, fhandle, fattr); |
1072 | if (error) | 1072 | if (error) |
1073 | goto out_bad; | 1073 | goto out_bad; |
1074 | if (nfs_compare_fh(NFS_FH(inode), fhandle)) | 1074 | if (nfs_compare_fh(NFS_FH(inode), fhandle)) |
@@ -1224,7 +1224,7 @@ static struct dentry *nfs_lookup(struct inode *dir, struct dentry * dentry, stru | |||
1224 | parent = dentry->d_parent; | 1224 | parent = dentry->d_parent; |
1225 | /* Protect against concurrent sillydeletes */ | 1225 | /* Protect against concurrent sillydeletes */ |
1226 | nfs_block_sillyrename(parent); | 1226 | nfs_block_sillyrename(parent); |
1227 | error = NFS_PROTO(dir)->lookup(dir, &dentry->d_name, fhandle, fattr); | 1227 | error = NFS_PROTO(dir)->lookup(NFS_SERVER(dir)->client, dir, &dentry->d_name, fhandle, fattr); |
1228 | if (error == -ENOENT) | 1228 | if (error == -ENOENT) |
1229 | goto no_entry; | 1229 | goto no_entry; |
1230 | if (error < 0) { | 1230 | if (error < 0) { |
@@ -1562,7 +1562,7 @@ int nfs_instantiate(struct dentry *dentry, struct nfs_fh *fhandle, | |||
1562 | if (dentry->d_inode) | 1562 | if (dentry->d_inode) |
1563 | goto out; | 1563 | goto out; |
1564 | if (fhandle->size == 0) { | 1564 | if (fhandle->size == 0) { |
1565 | error = NFS_PROTO(dir)->lookup(dir, &dentry->d_name, fhandle, fattr); | 1565 | error = NFS_PROTO(dir)->lookup(NFS_SERVER(dir)->client, dir, &dentry->d_name, fhandle, fattr); |
1566 | if (error) | 1566 | if (error) |
1567 | goto out_error; | 1567 | goto out_error; |
1568 | } | 1568 | } |