summaryrefslogtreecommitdiffstats
path: root/module/zfs/zfeature.c
diff options
context:
space:
mode:
authorMatthew Ahrens <[email protected]>2012-12-23 15:57:14 -0800
committerBrian Behlendorf <[email protected]>2013-01-08 10:35:43 -0800
commit753c38392ddff9d3cf140bb4d28f3bfba52c92d2 (patch)
tree628c9789ff88963dfdab65f37522640d13051dc8 /module/zfs/zfeature.c
parent91579709fccd3e55a21970742b66c388fb1403db (diff)
Illumos #3104: eliminate empty bpobjs
3104 eliminate empty bpobjs Reviewed by: George Wilson <[email protected]> Reviewed by: Adam Leventhal <[email protected]> Reviewed by: Christopher Siden <[email protected]> Reviewed by: Garrett D'Amore <[email protected]> Approved by: Eric Schrock <[email protected]> References: illumos/illumos-gate@f17457368189aa911f774c38c1f21875a568bdca illumos changeset: 13782:8f78aae28a63 https://www.illumos.org/issues/3104 Ported-by: Brian Behlendorf <[email protected]>
Diffstat (limited to 'module/zfs/zfeature.c')
-rw-r--r--module/zfs/zfeature.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/module/zfs/zfeature.c b/module/zfs/zfeature.c
index 24ff18fc3..c09b32d17 100644
--- a/module/zfs/zfeature.c
+++ b/module/zfs/zfeature.c
@@ -229,7 +229,12 @@ feature_get_refcount(objset_t *os, uint64_t read_obj, uint64_t write_obj,
uint64_t refcount;
uint64_t zapobj = feature->fi_can_readonly ? write_obj : read_obj;
- ASSERT(0 != zapobj);
+ /*
+ * If the pool is currently being created, the feature objects may not
+ * have been allocated yet. Act as though all features are disabled.
+ */
+ if (zapobj == 0)
+ return (ENOTSUP);
err = zap_lookup(os, zapobj, feature->fi_guid, sizeof (uint64_t), 1,
&refcount);