Author: avg
Date: Wed Sep 13 10:23:55 2017
New Revision: 323525
URL: https://svnweb.freebsd.org/changeset/base/323525

Log:
  MFV r323523: 8331 zfs_unshare returns wrong error code for smb unshare failure
  
  illumos/illumos-gate@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 <mar...@telka.sk>
  Reviewed by: Toomas Soome <tso...@me.com>
  Approved by: Dan McDonald <dan...@omniti.com>
  Author: Andrew Stormont <astorm...@racktopsystems.com>
  
  MFC after:    4 weeks

Modified:
  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
Directory Properties:
  head/cddl/contrib/opensolaris/   (props changed)
  head/cddl/contrib/opensolaris/lib/libzfs/   (props changed)

Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
==============================================================================
--- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c      Wed Sep 
13 10:22:09 2017        (r323524)
+++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c      Wed Sep 
13 10:23:55 2017        (r323525)
@@ -24,6 +24,7 @@
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2014 by Delphix. All rights reserved.
  * Copyright 2016 Igor Kozhukhov <ikozhuk...@gmail.com>
+ * Copyright 2017 RackTop Systems.
  */
 
 /*
@@ -88,7 +89,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 {
@@ -873,7 +874,7 @@ unshare_one(libzfs_handle_t *hdl, const char *name, co
        /* make sure libshare initialized */
        if ((err = zfs_init_libshare(hdl, SA_INIT_SHARE_API)) != 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)));
        }
@@ -884,12 +885,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));
        }
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to