linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chuck Lever <chuck.lever@oracle.com>
To: steved@redhat.com
Cc: linux-nfs@vger.kernel.org
Subject: [PATCH 5/7] mountd: Use MNT status values instead of NFSERR
Date: Mon, 20 Sep 2010 12:33:14 -0400	[thread overview]
Message-ID: <20100920163314.3170.47126.stgit@ellison.1015granger.net> (raw)
In-Reply-To: <20100920162616.3170.24625.stgit@ellison.1015granger.net>

Clean up:  The MNT protocol has its own enum type defining error
status values.  While the values can be the same as the NFSERR enum
type on some systems, it's not guaranteed to be true everywhere.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---

 utils/mountd/mountd.c |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/utils/mountd/mountd.c b/utils/mountd/mountd.c
index 1a14a85..d309950 100644
--- a/utils/mountd/mountd.c
+++ b/utils/mountd/mountd.c
@@ -474,27 +474,27 @@ get_rootfh(struct svc_req *rqstp, dirpath *path, nfs_export **expret,
 	/* Now authenticate the intruder... */
 	exp = auth_authenticate("mount", sap, p);
 	if (exp == NULL) {
-		*error = NFSERR_ACCES;
+		*error = MNT3ERR_ACCES;
 		return NULL;
 	}
 	if (stat(p, &stb) < 0) {
 		xlog(L_WARNING, "can't stat exported dir %s: %s",
 				p, strerror(errno));
 		if (errno == ENOENT)
-			*error = NFSERR_NOENT;
+			*error = MNT3ERR_NOENT;
 		else
-			*error = NFSERR_ACCES;
+			*error = MNT3ERR_ACCES;
 		return NULL;
 	}
 	if (!S_ISDIR(stb.st_mode) && !S_ISREG(stb.st_mode)) {
 		xlog(L_WARNING, "%s is not a directory or regular file", p);
-		*error = NFSERR_NOTDIR;
+		*error = MNT3ERR_NOTDIR;
 		return NULL;
 	}
 	if (stat(exp->m_export.e_path, &estb) < 0) {
 		xlog(L_WARNING, "can't stat export point %s: %s",
 		     p, strerror(errno));
-		*error = NFSERR_NOENT;
+		*error = MNT3ERR_NOENT;
 		return NULL;
 	}
 	if (estb.st_dev != stb.st_dev
@@ -502,7 +502,7 @@ get_rootfh(struct svc_req *rqstp, dirpath *path, nfs_export **expret,
 			   || !(exp->m_export.e_flags & NFSEXP_CROSSMOUNT))) {
 		xlog(L_WARNING, "request to export directory %s below nearest filesystem %s",
 		     p, exp->m_export.e_path);
-		*error = NFSERR_ACCES;
+		*error = MNT3ERR_ACCES;
 		return NULL;
 	}
 	if (exp->m_export.e_mountpoint &&
@@ -511,7 +511,7 @@ get_rootfh(struct svc_req *rqstp, dirpath *path, nfs_export **expret,
 				  exp->m_export.e_path)) {
 		xlog(L_WARNING, "request to export an unmounted filesystem: %s",
 		     p);
-		*error = NFSERR_NOENT;
+		*error = MNT3ERR_NOENT;
 		return NULL;
 	}
 
@@ -522,12 +522,12 @@ get_rootfh(struct svc_req *rqstp, dirpath *path, nfs_export **expret,
 		 */
 
 		if (cache_export(exp, p)) {
-			*error = NFSERR_ACCES;
+			*error = MNT3ERR_ACCES;
 			return NULL;
 		}
 		fh = cache_get_filehandle(exp, v3?64:32, p);
 		if (fh == NULL) {
-			*error = NFSERR_ACCES;
+			*error = MNT3ERR_ACCES;
 			return NULL;
 		}
 	} else {
@@ -557,11 +557,11 @@ get_rootfh(struct svc_req *rqstp, dirpath *path, nfs_export **expret,
 
 		if (fh == NULL) {
 			xlog(L_WARNING, "getfh failed: %s", strerror(errno));
-			*error = NFSERR_ACCES;
+			*error = MNT3ERR_ACCES;
 			return NULL;
 		}
 	}
-	*error = NFS_OK;
+	*error = MNT_OK;
 	mountlist_add(host_ntop(sap, buf, sizeof(buf)), p);
 	if (expret)
 		*expret = exp;


  parent reply	other threads:[~2010-09-20 16:33 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-20 16:32 [PATCH 0/7] The final patches for mountd IPv6 support Chuck Lever
2010-09-20 16:32 ` [PATCH 1/7] mountd: Make NFS version checks more strict Chuck Lever
2010-09-20 16:32 ` [PATCH 2/7] mountd: Support TI-RPC mountd listener Chuck Lever
2010-09-20 16:32 ` [PATCH 3/7] mountd: Unregister mountd if my_svc_run() returns Chuck Lever
2010-09-20 16:33 ` [PATCH 4/7] mountd: Fix up version and usage messages Chuck Lever
2010-09-20 16:33 ` Chuck Lever [this message]
2010-09-20 16:33 ` [PATCH 6/7] mountd: Update mountd/exportfs man pages to reflect IPv6 changes Chuck Lever
2010-09-20 16:33 ` [PATCH 7/7] nfsd: Enable IPv6 support in rpc.nfsd again Chuck Lever
     [not found] ` <20100920162616.3170.24625.stgit-ewv44WTpT0t9HhUboXbp9zCvJB+x5qRC@public.gmane.org>
2010-09-28 12:08   ` [PATCH 0/7] The final patches for mountd IPv6 support Steve Dickson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100920163314.3170.47126.stgit@ellison.1015granger.net \
    --to=chuck.lever@oracle.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=steved@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).