mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-04 04:02:26 +00:00
[PATCH] knfsd: nfsd4: handling more nfsd_cross_mnt errors in nfsd4 readdir
This patch on its own causes no change in behavior, since nfsd_cross_mnt() only returns -EAGAIN; but in the future I'd like it to also be able to return -ETIMEDOUT, so we may as well handle any possible error here. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
6899320c2c
commit
021d3a7245
@ -1845,15 +1845,11 @@ nfsd4_encode_dirent_fattr(struct nfsd4_readdir *cd,
|
|||||||
|
|
||||||
exp_get(exp);
|
exp_get(exp);
|
||||||
if (d_mountpoint(dentry)) {
|
if (d_mountpoint(dentry)) {
|
||||||
if (nfsd_cross_mnt(cd->rd_rqstp, &dentry, &exp)) {
|
int err;
|
||||||
/*
|
|
||||||
* -EAGAIN is the only error returned from
|
err = nfsd_cross_mnt(cd->rd_rqstp, &dentry, &exp);
|
||||||
* nfsd_cross_mnt() and it indicates that an
|
if (err) {
|
||||||
* up-call has been initiated to fill in the export
|
nfserr = nfserrno(err);
|
||||||
* options on exp. When the answer comes back,
|
|
||||||
* this call will be retried.
|
|
||||||
*/
|
|
||||||
nfserr = nfserr_dropit;
|
|
||||||
goto out_put;
|
goto out_put;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user