Ian Kent 288b05e
am-utils-6.2 - fix NFSv3 access method return on non-existent mount point
Ian Kent 288b05e
Ian Kent 288b05e
From: Ian Kent <raven@themaw.net>
Ian Kent 288b05e
Ian Kent 288b05e
When the NFS v3 access method is called and there is no mount point
Ian Kent 288b05e
corresponding to the path ESTALE needs to be returned the kernel NFS
Ian Kent 288b05e
client so an NFS lookup will be done and the mount point re-mounted.
Ian Kent 288b05e
Ian Kent 288b05e
If there is no map entry to mount the NFS v3 lookup method can then
Ian Kent 288b05e
return the failure.
Ian Kent 288b05e
Ian Kent 288b05e
Signed-off-by: Ian Kent <raven@themaw.net>
Ian Kent 288b05e
---
Ian Kent 288b05e
 amd/nfs_subr.c |    4 ++--
Ian Kent 288b05e
 1 file changed, 2 insertions(+), 2 deletions(-)
Ian Kent 288b05e
Ian Kent 288b05e
diff --git a/amd/nfs_subr.c b/amd/nfs_subr.c
Ian Kent 288b05e
index ef07a4a..85cf98c 100644
Ian Kent 288b05e
--- a/amd/nfs_subr.c
Ian Kent 288b05e
+++ b/amd/nfs_subr.c
Ian Kent 288b05e
@@ -1239,9 +1239,9 @@ am_nfs3_access_3_svc(am_ACCESS3args *argp, struct svc_req *rqstp)
Ian Kent 288b05e
   if (!mp) {
Ian Kent 288b05e
     post_op_obj = &result.res_u.fail.obj_attributes;
Ian Kent 288b05e
     post_op_obj->attributes_follow = 0;
Ian Kent 288b05e
-    result.status = nfs_error(ENOENT);
Ian Kent 288b05e
+    result.status = nfs_error(ESTALE);
Ian Kent 288b05e
     if (amuDebug(D_TRACE))
Ian Kent 288b05e
-      plog(XLOG_DEBUG, "access_3: ENOENT");
Ian Kent 288b05e
+      plog(XLOG_DEBUG, "access_3: ESTALE");
Ian Kent 288b05e
   } else {
Ian Kent 288b05e
     nfsfattr *fattr = &mp->am_fattr;
Ian Kent 288b05e
     am_fattr3 *fattr3;