svn commit: r323523 - vendor/illumos/dist/lib/libzfs/common

Andriy Gapon avg at FreeBSD.org
Wed Sep 13 10:17:15 UTC 2017


Author: avg
Date: Wed Sep 13 10:17:14 2017
New Revision: 323523
URL: https://svnweb.freebsd.org/changeset/base/323523

Log:
  8331 zfs_unshare returns wrong error code for smb unshare failure
  
  illumos/illumos-gate at 4f4378cc54b7deec3a35c529dc397dbdc325b4bb
  https://github.com/illumos/illumos-gate/commit/4f4378cc54b7deec3a35c529dc397dbdc325b4bb
  
  https://www.illumos.org/issues/8331
    zfs_unshare returns EZFS_UNSHARENFSFAILED on error for all share types.
  
  Reviewed by: Marcel Telka <marcel at telka.sk>
  Reviewed by: Toomas Soome <tsoome at me.com>
  Approved by: Dan McDonald <danmcd at omniti.com>
  Author: Andrew Stormont <astormont at racktopsystems.com>

Modified:
  vendor/illumos/dist/lib/libzfs/common/libzfs_mount.c

Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_mount.c
==============================================================================
--- vendor/illumos/dist/lib/libzfs/common/libzfs_mount.c	Wed Sep 13 07:09:58 2017	(r323522)
+++ vendor/illumos/dist/lib/libzfs/common/libzfs_mount.c	Wed Sep 13 10:17:14 2017	(r323523)
@@ -24,6 +24,7 @@
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2014, 2016 by Delphix. All rights reserved.
  * Copyright 2016 Igor Kozhukhov <ikozhukhov at gmail.com>
+ * Copyright 2017 RackTop Systems.
  */
 
 /*
@@ -91,7 +92,7 @@ zfs_share_type_t zfs_is_shared_proto(zfs_handle_t *, c
     zfs_share_proto_t);
 
 /*
- * The share protocols table must be in the same order as the zfs_share_prot_t
+ * The share protocols table must be in the same order as the zfs_share_proto_t
  * enum in libzfs_impl.h
  */
 typedef struct {
@@ -916,7 +917,7 @@ unshare_one(libzfs_handle_t *hdl, const char *name, co
 	if ((err = zfs_init_libshare_arg(hdl, SA_INIT_ONE_SHARE_FROM_NAME,
 	    (void *)name)) != SA_OK) {
 		free(mntpt);	/* don't need the copy anymore */
-		return (zfs_error_fmt(hdl, EZFS_UNSHARENFSFAILED,
+		return (zfs_error_fmt(hdl, proto_table[proto].p_unshare_err,
 		    dgettext(TEXT_DOMAIN, "cannot unshare '%s': %s"),
 		    name, _sa_errorstr(err)));
 	}
@@ -927,12 +928,13 @@ unshare_one(libzfs_handle_t *hdl, const char *name, co
 	if (share != NULL) {
 		err = zfs_sa_disable_share(share, proto_table[proto].p_name);
 		if (err != SA_OK) {
-			return (zfs_error_fmt(hdl, EZFS_UNSHARENFSFAILED,
+			return (zfs_error_fmt(hdl,
+			    proto_table[proto].p_unshare_err,
 			    dgettext(TEXT_DOMAIN, "cannot unshare '%s': %s"),
 			    name, _sa_errorstr(err)));
 		}
 	} else {
-		return (zfs_error_fmt(hdl, EZFS_UNSHARENFSFAILED,
+		return (zfs_error_fmt(hdl, proto_table[proto].p_unshare_err,
 		    dgettext(TEXT_DOMAIN, "cannot unshare '%s': not found"),
 		    name));
 	}


More information about the svn-src-all mailing list