View | Details | Raw Unified | Return to bug 236480
Collapse All | Expand All

(-)sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c (-1 / +3 lines)
Lines 1324-1330 Link Here
1324
	mutex_enter(&dn->dn_mtx);
1324
	mutex_enter(&dn->dn_mtx);
1325
	type = dn->dn_type;
1325
	type = dn->dn_type;
1326
	if (dn->dn_free_txg ||
1326
	if (dn->dn_free_txg ||
1327
	    ((flag & DNODE_MUST_BE_FREE) && !refcount_is_zero(&dn->dn_holds))) {
1327
	    ((flag & DNODE_MUST_BE_ALLOCATED) && type == DMU_OT_NONE) ||
1328
	    ((flag & DNODE_MUST_BE_FREE) &&
1329
	    (type != DMU_OT_NONE || !refcount_is_zero(&dn->dn_holds)))) {
1328
		mutex_exit(&dn->dn_mtx);
1330
		mutex_exit(&dn->dn_mtx);
1329
		zrl_remove(&dnh->dnh_zrlock);
1331
		zrl_remove(&dnh->dnh_zrlock);
1330
		dbuf_rele(db, FTAG);
1332
		dbuf_rele(db, FTAG);

Return to bug 236480