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

(-)sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c (-3 / +8 lines)
Lines 3197-3202 Link Here
3197
3197
3198
		if (err == 0 && xattr_obj) {
3198
		if (err == 0 && xattr_obj) {
3199
			err = zfs_zget(zp->z_zfsvfs, xattr_obj, &attrzp);
3199
			err = zfs_zget(zp->z_zfsvfs, xattr_obj, &attrzp);
3200
			if (err == 0) {
3201
				err = vn_lock(ZTOV(attrzp), LK_EXCLUSIVE);
3202
				if (err != 0)
3203
					vrele(ZTOV(attrzp));
3204
			}
3200
			if (err)
3205
			if (err)
3201
				goto out2;
3206
				goto out2;
3202
		}
3207
		}
Lines 3206-3212 Link Here
3206
			if (new_uid != zp->z_uid &&
3211
			if (new_uid != zp->z_uid &&
3207
			    zfs_fuid_overquota(zfsvfs, B_FALSE, new_uid)) {
3212
			    zfs_fuid_overquota(zfsvfs, B_FALSE, new_uid)) {
3208
				if (attrzp)
3213
				if (attrzp)
3209
					vrele(ZTOV(attrzp));
3214
					vput(ZTOV(attrzp));
3210
				err = SET_ERROR(EDQUOT);
3215
				err = SET_ERROR(EDQUOT);
3211
				goto out2;
3216
				goto out2;
3212
			}
3217
			}
Lines 3218-3224 Link Here
3218
			if (new_gid != zp->z_gid &&
3223
			if (new_gid != zp->z_gid &&
3219
			    zfs_fuid_overquota(zfsvfs, B_TRUE, new_gid)) {
3224
			    zfs_fuid_overquota(zfsvfs, B_TRUE, new_gid)) {
3220
				if (attrzp)
3225
				if (attrzp)
3221
					vrele(ZTOV(attrzp));
3226
					vput(ZTOV(attrzp));
3222
				err = SET_ERROR(EDQUOT);
3227
				err = SET_ERROR(EDQUOT);
3223
				goto out2;
3228
				goto out2;
3224
			}
3229
			}
Lines 3449-3455 Link Here
3449
	}
3454
	}
3450
3455
3451
	if (attrzp)
3456
	if (attrzp)
3452
		vrele(ZTOV(attrzp));
3457
		vput(ZTOV(attrzp));
3453
3458
3454
	if (aclp)
3459
	if (aclp)
3455
		zfs_acl_free(aclp);
3460
		zfs_acl_free(aclp);

Return to bug 212702