Add missing vnode lock in case of file modify request.

Submitted by:	Richard Kojedzinszky
MFC after:	1 week
This commit is contained in:
Alexander Motin 2015-10-08 07:34:30 +00:00
parent fbcf1662de
commit 3d5cb709bd

View File

@ -2623,9 +2623,11 @@ ctl_be_block_modify(struct ctl_be_block_softc *softc, struct ctl_lun_req *req)
error = ctl_be_block_open(be_lun, req);
else if (vn_isdisk(be_lun->vn, &error))
error = ctl_be_block_open_dev(be_lun, req);
else if (be_lun->vn->v_type == VREG)
else if (be_lun->vn->v_type == VREG) {
vn_lock(be_lun->vn, LK_SHARED | LK_RETRY);
error = ctl_be_block_open_file(be_lun, req);
else
VOP_UNLOCK(be_lun->vn, 0);
} else
error = EINVAL;
if ((cbe_lun->flags & CTL_LUN_FLAG_NO_MEDIA) &&
be_lun->vn != NULL) {