[PATCH 4/4] text-based mount command: use correct server name in rewrite_mount_options

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Fix error reporting when probe_bothports() fails while rewriting mount
options.

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

 utils/mount/error.c   |    3 +++
 utils/mount/stropts.c |    9 +++++----
 2 files changed, 8 insertions(+), 4 deletions(-)


diff --git a/utils/mount/error.c b/utils/mount/error.c
index 23a91ff..147e919 100644
--- a/utils/mount/error.c
+++ b/utils/mount/error.c
@@ -227,6 +227,9 @@ void mount_error(const char *spec, const char *mount_point, int error)
 			nfs_error(_("%s: mount point %s does not exist"),
 				progname, mount_point);
 		break;
+	case ESPIPE:
+		rpc_mount_errors((char *)spec, 0, 0);
+		break;
 	case EIO:
 	case EFAULT:
 		nfs_error(_("%s: internal error"), progname);
diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
index 3564f15..967fd69 100644
--- a/utils/mount/stropts.c
+++ b/utils/mount/stropts.c
@@ -356,6 +356,8 @@ static struct mount_options *rewrite_mount_options(char *str)
 	clnt_addr_t nfs_server = { };
 	int p;
 
+	errno = EIO;
+
 	options = po_split(str);
 	if (!options)
 		return NULL;
@@ -426,7 +428,7 @@ static struct mount_options *rewrite_mount_options(char *str)
 	po_remove_all(options, "udp");
 
 	if (!probe_bothports(&mnt_server, &nfs_server)) {
-		rpc_mount_errors("rpcbind", 0, 0);
+		errno = ESPIPE;
 		goto err;
 	}
 
@@ -452,6 +454,7 @@ static struct mount_options *rewrite_mount_options(char *str)
 
 	}
 
+	errno = 0;
 	return options;
 
 err:
@@ -498,10 +501,8 @@ static int nfs_retry_nfs23mount(struct nfsmount_info *mi)
 	char **extra_opts = mi->extra_opts;
 
 	retry_options = rewrite_mount_options(*extra_opts);
-	if (!retry_options) {
-		errno = EIO;
+	if (!retry_options)
 		return 0;
-	}
 
 	if (po_join(retry_options, &retry_str) == PO_FAILED) {
 		po_destroy(retry_options);

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux