Re: [PATCH/RFC 5/7] Added VFH FHEXPIRED recovery functions.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Trond Myklebust [Trond.Myklebust@xxxxxxxxxx] wrote:
> 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?

I imagine, it is in the context of the process that received FHEXPIRED
error. It may not have credentials to perform a lookup on parent
directories. If it doesn't, that would end up with ESTALE with Matt's
patches, right Matt?

--Malahal.

--
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


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux