On Fri, 2011-11-11 at 18:04 -0500, Matthew Treinish wrote: > +static int nfs4_proc_vfh_lookup(struct rpc_clnt *clnt, struct inode *dir, > + struct qstr *name, struct nfs_fh *fhandle, struct nfs_fattr *fattr) > +{ > + struct nfs4_exception exception = { }; > + int err; > + do { > + int status; > + > + status = _nfs4_proc_lookup(clnt, dir, name, fhandle, fattr); > + switch (status) { > + case -NFS4ERR_BADNAME: > + return -ENOENT; > + case -NFS4ERR_MOVED: > + err = nfs4_get_referral(dir, name, fattr, fhandle); > + break; > + case -NFS4ERR_FHEXPIRED: > + return -NFS4ERR_FHEXPIRED; > + case -NFS4ERR_WRONGSEC: > + nfs_fixup_secinfo_attributes(fattr, fhandle); case -NFS4ERR_ACCESS: ??????? > + } > + err = nfs4_handle_exception(NFS_SERVER(dir), > + status, &exception); > + } while (exception.retry); > + return err; > +} > + What execution context is this function going to be running under and what guarantees that it actually has the right file access credentials to allow it to perform a lookup? -- Trond Myklebust Linux NFS client maintainer NetApp Trond.Myklebust@xxxxxxxxxx www.netapp.com -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html