Skip to content

Commit

Permalink
[PATCH] knfsd: nfsd4: handling more nfsd_cross_mnt errors in nfsd4 re…
Browse files Browse the repository at this point in the history
…addir

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 <[email protected]>
Signed-off-by: Neil Brown <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
bfields authored and Linus Torvalds committed Dec 13, 2006
1 parent 6899320 commit 021d3a7
Showing 1 changed file with 5 additions and 9 deletions.
14 changes: 5 additions & 9 deletions fs/nfsd/nfs4xdr.c
Original file line number Diff line number Diff line change
Expand Up @@ -1845,15 +1845,11 @@ nfsd4_encode_dirent_fattr(struct nfsd4_readdir *cd,

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

Expand Down

0 comments on commit 021d3a7

Please sign in to comment.