summaryrefslogtreecommitdiffstats
path: root/module/zfs/dsl_dataset.c
diff options
context:
space:
mode:
authorJustin T. Gibbs <[email protected]>2015-05-12 10:23:45 -0700
committerBrian Behlendorf <[email protected]>2015-05-13 08:56:04 -0700
commit19b3b1d2a256ecac1f27278c593983f772322f09 (patch)
treefa3336255b1f2f9dfdc95017b05466873d97cc74 /module/zfs/dsl_dataset.c
parent63b33e878af4aa1027e4a7ffa99085cca11e665b (diff)
Illumos 5393 - spurious failures from dsl_dataset_hold_obj()
5393 spurious failures from dsl_dataset_hold_obj() Reviewed by: Matthew Ahrens <[email protected]> Reviewed by: Will Andrews <[email protected]> Reviewed by: Prakash Surya <[email protected]> Reviewed by: Steven Hartland <[email protected]> Approved by: Dan McDonald <[email protected]> References: https://www.illumos.org/issues/5393 https://github.com/illumos/illumos-gate/commit/e1f3c20 Ported-by: Brian Behlendorf <[email protected]> Closes #3403
Diffstat (limited to 'module/zfs/dsl_dataset.c')
-rw-r--r--module/zfs/dsl_dataset.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/module/zfs/dsl_dataset.c b/module/zfs/dsl_dataset.c
index 9a66c6552..dacb6678e 100644
--- a/module/zfs/dsl_dataset.c
+++ b/module/zfs/dsl_dataset.c
@@ -426,11 +426,12 @@ dsl_dataset_hold_obj(dsl_pool_t *dp, uint64_t dsobj, void *tag,
offsetof(dmu_sendarg_t, dsa_link));
if (doi.doi_type == DMU_OTN_ZAP_METADATA) {
- err = zap_contains(mos, dsobj, DS_FIELD_LARGE_BLOCKS);
- if (err == 0)
+ int zaperr = zap_contains(mos, dsobj,
+ DS_FIELD_LARGE_BLOCKS);
+ if (zaperr != ENOENT) {
+ VERIFY0(zaperr);
ds->ds_large_blocks = B_TRUE;
- else
- ASSERT3U(err, ==, ENOENT);
+ }
}
if (err == 0) {