Author: avg
Date: Tue Jul 12 11:56:45 2016
New Revision: 302656
URL: https://svnweb.freebsd.org/changeset/base/302656

Log:
  5813 zfs_setprop_error(): Handle errno value E2BIG.
  
  illumos/illumos-gate@6fdcb3d1c2baae812d9cbce37b41469b924efd90
  
https://github.com/illumos/illumos-gate/commit/6fdcb3d1c2baae812d9cbce37b41469b924efd90
  
  https://www.illumos.org/issues/5813
    Lets pull in this patch from freebsd:
    http://svnweb.freebsd.org/base?view=revision&revision=271764
    zfs_setprop_error(): Handle errno value E2BIG.
    This errno value is emitted by dsl_props_set_check() in
    sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c, and
    is used to mean that the property value is too long. For the record,
    the maximum length is ZAP_MAXVALUELEN, which is 8*1024 bytes.
    Instead of claiming an unknown error (and abort()ing), provide
    something more specific to the scenario involved. As far as I
    can tell, E2BIG is not emitted for any other scenario.
    MFC after: 1 week
    Sponsored by: Spectra Logic
    Affects: All ZFS versions starting 27 Feb 2009 (illumos ccba0801)
    This change modified the value returned by
    dsl_props_set_check(), so that it can distinguish between
    a name that's too long and a value that's too long, but
    libzfs was not updated accordingly.
    MFSpectraBSD: r1051499 on 2014/03/28 11:07:59
  
  Reviewed by: Paul Dagnelie <paul.dagne...@delphix.com>
  Reviewed by: Matthew Ahrens <mahr...@delphix.com>
  Reviewed by: Prakash Surya <prakash.su...@delphix.com>
  Reviewed by: Richard Elling <richard.ell...@richardelling.com>
  Approved by: Garrett D'Amore <garr...@damore.org>
  Author: Will Andrews <w...@freebsd.org>

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

Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c
==============================================================================
--- vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c      Tue Jul 12 
11:54:25 2016        (r302655)
+++ vendor/illumos/dist/lib/libzfs/common/libzfs_dataset.c      Tue Jul 12 
11:56:45 2016        (r302656)
@@ -1463,6 +1463,12 @@ zfs_setprop_error(libzfs_handle_t *hdl, 
                (void) zfs_error(hdl, EZFS_DSREADONLY, errbuf);
                break;
 
+       case E2BIG:
+               zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
+                   "property value too long"));
+               (void) zfs_error(hdl, EZFS_BADPROP, errbuf);
+               break;
+
        case ENOTSUP:
                zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
                    "pool and or dataset must be upgraded to set this "
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to