|
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); |