From e1f3c208abda53769a6531bb1141618555273460 Mon Sep 17 00:00:00 2001 From: "Justin T. Gibbs" Date: Tue, 14 Apr 2015 18:03:33 -0700 Subject: [PATCH] 5393 spurious failures from dsl_dataset_hold_obj() Reviewed by: Matthew Ahrens Reviewed by: Will Andrews Reviewed by: Prakash Surya Reviewed by: Steven Hartland Approved by: Dan McDonald --- usr/src/uts/common/fs/zfs/dsl_dataset.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/usr/src/uts/common/fs/zfs/dsl_dataset.c b/usr/src/uts/common/fs/zfs/dsl_dataset.c index b4ab4ec3fd..ef781cbce8 100644 --- a/usr/src/uts/common/fs/zfs/dsl_dataset.c +++ b/usr/src/uts/common/fs/zfs/dsl_dataset.c @@ -423,11 +423,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) { -- 2.11.4.GIT