diff options
author | Justin T. Gibbs <[email protected]> | 2015-05-12 10:23:45 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-05-13 08:56:04 -0700 |
commit | 19b3b1d2a256ecac1f27278c593983f772322f09 (patch) | |
tree | fa3336255b1f2f9dfdc95017b05466873d97cc74 /module/zfs/dsl_dataset.c | |
parent | 63b33e878af4aa1027e4a7ffa99085cca11e665b (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.c | 9 |
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) { |