freebsd-nq/sys/cddl
Xin LI 26f96d922b Fix a regression introduced in r274337 (large block support)
In dsl_dataset_hold_obj() we used zap_contains(.., DS_FIELD_LARGE_BLOCKS)
to determine whether the extensible (zapifyed) dataset have large blocks.
The code expects the result be either 0 (found) or ENOENT (not found),
however reused the variable 'err' which later code expects to be 0.

Fix this by adopting similar code construct that is used later for
DS_FIELD_BOOKMARK_NAMES, which uses a temporary variable zaperr to catch
errors from zap_* rountines.

Reported by:	Peter J. Creath (on FreeNAS; FreeNAS bug #6848)
Illumos issue:	5393 spurious failures from dsl_dataset_hold_obj()
Reviewed by:	mahrens
Sponsored by:	iXsystems, Inc.
X-MFC with:	r274337
2014-12-05 18:29:01 +00:00
..
boot/zfs MFV r274273: 2014-11-10 08:20:21 +00:00
compat/opensolaris Remove the no-at variants of the kern_xx() syscall helpers. E.g., we 2014-11-13 18:01:51 +00:00
contrib/opensolaris Fix a regression introduced in r274337 (large block support) 2014-12-05 18:29:01 +00:00
dev Whitespace 2014-10-24 03:34:21 +00:00