Yeela Kaplan has uploaded a new change for review. Change subject: format storage domain using locking type 1 ......................................................................
format storage domain using locking type 1 Change-Id: Ifdaf54cb8d27d0e609943d38efb07a0a78b84394 Signed-off-by: Yeela Kaplan <[email protected]> --- M vdsm/storage/blockSD.py M vdsm/storage/hsm.py M vdsm/storage/lvm.py 3 files changed, 19 insertions(+), 4 deletions(-) git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/14/26014/1 diff --git a/vdsm/storage/blockSD.py b/vdsm/storage/blockSD.py index d9f398e..9d6ec43 100644 --- a/vdsm/storage/blockSD.py +++ b/vdsm/storage/blockSD.py @@ -906,7 +906,7 @@ for lv in lvs: #Fix me: Should raise and get resource lock. try: - lvm.removeLVs(sdUUID, lv.name) + lvm.clusterSafeRemoveLVs(sdUUID, lv.name) except se.CannotRemoveLogicalVolume as e: cls.log.warning("Remove logical volume failed %s/%s %s", sdUUID, lv.name, str(e)) diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py index e6d994f..7ea6b84 100644 --- a/vdsm/storage/hsm.py +++ b/vdsm/storage/hsm.py @@ -40,7 +40,7 @@ from vdsm.config import config import sp -from spbackends import MAX_POOL_DESCRIPTION_SIZE, MAX_DOMAINS +from spbackends import MAX_POOL_DESCRIPTION_SIZE from spbackends import StoragePoolDiskBackend from spbackends import StoragePoolMemoryBackend import domainMonitor diff --git a/vdsm/storage/lvm.py b/vdsm/storage/lvm.py index 4df2e6f..2cf5091 100644 --- a/vdsm/storage/lvm.py +++ b/vdsm/storage/lvm.py @@ -1114,7 +1114,7 @@ _completeCreateLV(rc, vgName, lvName, activate) -def removeLVs(vgName, lvNames): +def _constructRemoveLVs(vgName, lvNames): lvNames = _normalizeargs(lvNames) # Assert that the LVs are inactive before remove. for lvName in lvNames: @@ -1132,7 +1132,10 @@ cmd.extend(LVM_NOBACKUP) for lvName in lvNames: cmd.append("%s/%s" % (vgName, lvName)) - rc, out, err = _lvminfo.cmd(cmd, _lvminfo._getVGDevs((vgName, ))) + return cmd + + +def _completeRemoveLVs(rc, vgName, lvNames): if rc == 0: for lvName in lvNames: # Remove the LV from the cache @@ -1145,6 +1148,18 @@ raise se.CannotRemoveLogicalVolume(vgName, str(lvNames)) +def clusterSafeRemoveLVs(vgName, lvNames): + cmd = _constructRemoveLVs(vgName, lvNames) + rc, out, err = _lvminfo.cmd(cmd, _lvminfo._getVGDevs((vgName, )), rw=True) + _completeRemoveLVs(rc, vgName, lvNames) + + +def removeLVs(vgName, lvNames): + cmd = _constructRemoveLVs(vgName, lvNames) + rc, out, err = _lvminfo.cmd(cmd, _lvminfo._getVGDevs((vgName, ))) + _completeRemoveLVs(rc, vgName, lvNames) + + def _resizeLV(op, vgName, lvName, size): """ Size units: MB (1024 ** 2 = 2 ** 20)B. -- To view, visit http://gerrit.ovirt.org/26014 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ifdaf54cb8d27d0e609943d38efb07a0a78b84394 Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Yeela Kaplan <[email protected]> _______________________________________________ vdsm-patches mailing list [email protected] https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches
