svn commit: r206642 - in stable/8/cddl/contrib/opensolaris: cmd/zfs
lib/libzfs/common
Xin LI
delphij at FreeBSD.org
Thu Apr 15 01:25:17 UTC 2010
Author: delphij
Date: Thu Apr 15 01:25:17 2010
New Revision: 206642
URL: http://svn.freebsd.org/changeset/base/206642
Log:
MFC r205200 + r206199
Merge OpenSolaris revision 9396:f41cf682d0d3:
6830813 zfs list -t all fails assertion
*Note that this is only a partial merge of this revision addressing only
this one issue.*
PR: bin/144720
Submitted by: mm
Modified:
stable/8/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c
stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
Directory Properties:
stable/8/cddl/contrib/opensolaris/ (props changed)
stable/8/cddl/contrib/opensolaris/cmd/zdb/ (props changed)
stable/8/cddl/contrib/opensolaris/cmd/zfs/ (props changed)
stable/8/cddl/contrib/opensolaris/lib/libzfs/ (props changed)
Modified: stable/8/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c
==============================================================================
--- stable/8/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c Thu Apr 15 01:22:38 2010 (r206641)
+++ stable/8/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c Thu Apr 15 01:25:17 2010 (r206642)
@@ -368,7 +368,10 @@ zfs_for_each(int argc, char **argv, int
* properties other than those listed in cb_proplist/sortcol are
* accessed.
*
- * If cb_proplist is NULL then we retain all the properties.
+ * If cb_proplist is NULL then we retain all the properties. We
+ * always retain the zoned property, which some other properties
+ * need (userquota & friends), and the createtxg property, which
+ * we need to sort snapshots.
*/
if (cb.cb_proplist && *cb.cb_proplist) {
zprop_list_t *p = *cb.cb_proplist;
@@ -388,6 +391,9 @@ zfs_for_each(int argc, char **argv, int
}
sortcol = sortcol->sc_next;
}
+
+ cb.cb_props_table[ZFS_PROP_ZONED] = B_TRUE;
+ cb.cb_props_table[ZFS_PROP_CREATETXG] = B_TRUE;
} else {
(void) memset(cb.cb_props_table, B_TRUE,
sizeof (cb.cb_props_table));
Modified: stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
==============================================================================
--- stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Thu Apr 15 01:22:38 2010 (r206641)
+++ stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Thu Apr 15 01:25:17 2010 (r206642)
@@ -4285,7 +4285,12 @@ zfs_prune_proplist(zfs_handle_t *zhp, ui
zfs_prop_t zfs_prop = zfs_name_to_prop(nvpair_name(curr));
nvpair_t *next = nvlist_next_nvpair(zhp->zfs_props, curr);
- if (props[zfs_prop] == B_FALSE)
+ /*
+ * We leave user:props in the nvlist, so there will be
+ * some ZPROP_INVAL. To be extra safe, don't prune
+ * those.
+ */
+ if (zfs_prop != ZPROP_INVAL && props[zfs_prop] == B_FALSE)
(void) nvlist_remove(zhp->zfs_props,
nvpair_name(curr), nvpair_type(curr));
curr = next;
More information about the svn-src-stable-8
mailing list