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