Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | From | NeilBrown <> | Date | Fri, 8 Dec 2006 12:13:51 +1100 | Subject | [PATCH 006 of 18] knfsd: nfsd4: handling more nfsd_cross_mnt errors in nfsd4 readdir |
| |
From: J.Bruce Fields <bfields@fieldses.org>
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>
### Diffstat output ./fs/nfsd/nfs4xdr.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-)
diff .prev/fs/nfsd/nfs4xdr.c ./fs/nfsd/nfs4xdr.c --- .prev/fs/nfsd/nfs4xdr.c 2006-12-08 12:07:28.000000000 +1100 +++ ./fs/nfsd/nfs4xdr.c 2006-12-08 12:08:31.000000000 +1100 @@ -1845,15 +1845,11 @@ nfsd4_encode_dirent_fattr(struct nfsd4_r exp_get(exp); if (d_mountpoint(dentry)) { - if (nfsd_cross_mnt(cd->rd_rqstp, &dentry, &exp)) { - /* - * -EAGAIN is the only error returned from - * nfsd_cross_mnt() and it indicates that an - * up-call has been initiated to fill in the export - * options on exp. When the answer comes back, - * this call will be retried. - */ - nfserr = nfserr_dropit; + int err; + + err = nfsd_cross_mnt(cd->rd_rqstp, &dentry, &exp); + if (err) { + nfserr = nfserrno(err); goto out_put; } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |