Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Jun 2012 16:16:04 +0000 (UTC)
From:      Rick Macklem <rmacklem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r236758 - projects/nfsv4.1-client/sys/fs/nfsclient
Message-ID:  <201206081616.q58GG4Pv069856@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rmacklem
Date: Fri Jun  8 16:16:03 2012
New Revision: 236758
URL: http://svn.freebsd.org/changeset/base/236758

Log:
  Fix the NFSv4.1 client so that it returns ENOENT instead of EIO
  for the case where a server replies NFSERR_BADNAME or NFSERR_BADCHAR.
  This works better for servers that reply NFSERR_BADNAME/NFSERR_BADCHAR
  for "*.sh" when there is nothing for the shell to expand.

Modified:
  projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clport.c

Modified: projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clport.c
==============================================================================
--- projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clport.c	Fri Jun  8 16:12:58 2012	(r236757)
+++ projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clport.c	Fri Jun  8 16:16:03 2012	(r236758)
@@ -1118,6 +1118,10 @@ nfscl_maperr(struct thread *td, int erro
 		    "No name and/or group mapping for uid,gid:(%d,%d)\n",
 		    uid, gid);
 		return (EPERM);
+	case NFSERR_BADNAME:
+	case NFSERR_BADCHAR:
+		printf("nfsv4 char/name not handled by server\n");
+		return (ENOENT);
 	case NFSERR_STALECLIENTID:
 	case NFSERR_STALESTATEID:
 	case NFSERR_EXPIRED:
@@ -1138,8 +1142,6 @@ nfscl_maperr(struct thread *td, int erro
 	case NFSERR_LEASEMOVED:
 	case NFSERR_RECLAIMBAD:
 	case NFSERR_BADXDR:
-	case NFSERR_BADCHAR:
-	case NFSERR_BADNAME:
 	case NFSERR_OPILLEGAL:
 		printf("nfsv4 client/server protocol prob err=%d\n",
 		    error);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201206081616.q58GG4Pv069856>