View | Details | Raw Unified | Return to bug 213112 | Differences between
and this patch

Collapse All | Expand All

(-)sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c (-2 / +4 lines)
Lines 5973-5985 zfs_lock(ap) Link Here
5973
	vp = ap->a_vp;
5973
	vp = ap->a_vp;
5974
	flags = ap->a_flags;
5974
	flags = ap->a_flags;
5975
	if ((flags & LK_INTERLOCK) == 0 && (flags & LK_NOWAIT) == 0 &&
5975
	if ((flags & LK_INTERLOCK) == 0 && (flags & LK_NOWAIT) == 0 &&
5976
	    (vp->v_iflag & VI_DOOMED) == 0 && (zp = vp->v_data) != NULL) {
5976
	    (vp->v_iflag & VI_DOOMED) == 0 && (zp = vp->v_data) != NULL &&
5977
	    (zp->z_pflags & ZFS_XATTR) == 0) {
5977
		zfsvfs = zp->z_zfsvfs;
5978
		zfsvfs = zp->z_zfsvfs;
5978
		VERIFY(!RRM_LOCK_HELD(&zfsvfs->z_teardown_lock));
5979
		VERIFY(!RRM_LOCK_HELD(&zfsvfs->z_teardown_lock));
5979
	}
5980
	}
5980
	err = vop_stdlock(ap);
5981
	err = vop_stdlock(ap);
5981
	if ((flags & LK_INTERLOCK) != 0 && (flags & LK_NOWAIT) == 0 &&
5982
	if ((flags & LK_INTERLOCK) != 0 && (flags & LK_NOWAIT) == 0 &&
5982
	    (vp->v_iflag & VI_DOOMED) == 0 && (zp = vp->v_data) != NULL) {
5983
	    (vp->v_iflag & VI_DOOMED) == 0 && (zp = vp->v_data) != NULL &&
5984
	    (zp->z_pflags & ZFS_XATTR) == 0) {
5983
		zfsvfs = zp->z_zfsvfs;
5985
		zfsvfs = zp->z_zfsvfs;
5984
		VERIFY(!RRM_LOCK_HELD(&zfsvfs->z_teardown_lock));
5986
		VERIFY(!RRM_LOCK_HELD(&zfsvfs->z_teardown_lock));
5985
	}
5987
	}

Return to bug 213112