svn commit: r271764 - head/cddl/contrib/opensolaris/lib/libzfs/common
Will Andrews
will at FreeBSD.org
Thu Sep 18 14:09:43 UTC 2014
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 "
More information about the svn-src-head
mailing list