Author: will
Date: Thu Sep 18 14:09:42 2014
New Revision: 271764
URL: http://svnweb.freebsd.org/changeset/base/271764

Log:
  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

Modified:
  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c

Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
==============================================================================
--- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c    Thu Sep 
18 14:02:25 2014        (r271763)
+++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c    Thu Sep 
18 14:09:42 2014        (r271764)
@@ -1457,6 +1457,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
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to