Eduardo has uploaded a new change for review.
Change subject: [WIP] Fixing metadata writings using cmd_type_1. ......................................................................
[WIP] Fixing metadata writings using cmd_type_1.
Change-Id: I88b3ede4bd15a884bcd07cf4099f53d30aa98f84 Signed-off-by: Eduardo ewarszaw@redhat.com --- M vdsm/storage/blockSD.py 1 file changed, 13 insertions(+), 14 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/95/11695/1
diff --git a/vdsm/storage/blockSD.py b/vdsm/storage/blockSD.py index c688826..359a691 100644 --- a/vdsm/storage/blockSD.py +++ b/vdsm/storage/blockSD.py @@ -123,7 +123,6 @@ LVM_ENC_ESCAPE = re.compile("&(\d+)&")
-# Move to lvm def lvmTagEncode(s): return INVALID_CHARS.sub(lambda c: "&%s&" % ord(c.group()), s)
@@ -505,7 +504,6 @@
def makeChangeCmd(toRemove, toAdd): changeCmd = [constants.EXT_LVM, "vgchange"] - changeCmd.extend(lvm.LVM_NOBACKUP) changeCmd.extend(("--config", cmdConf % filter)) for tag in toRemove: changeCmd.extend(("--deltag", tag)) @@ -623,28 +621,23 @@ DMDK_PHYBLKSIZE: phyBlkSize, }
- initialMetadata.update(mapping) - if version in VERS_METADATA_LV: md = LvBasedSDMetadata(vgName, sd.METADATA) md.update(initialMetadata) #Replace unready tag toRemove = (STORAGE_UNREADY_DOMAIN_TAG,) toAdd = (STORAGE_DOMAIN_TAG,) + initialMetadata.update(mapping) elif version in VERS_METADATA_TAG: md = TagBasedSDMetadata(vgName) #Add all tags here and remove the unready - toRemove = tuple(VGTagMetadataRW.METADATA_TAG_PREFIX + - lvmTagEncode(item) for item in initialMetadata) - toRemove.append(STORAGE_UNREADY_DOMAIN_TAG) - toAdd = tuple(VGTagMetadataRW.METADATA_TAG_PREFIX + - lvmTagEncode(item) for item in initialMetadata) + toRemove = [STORAGE_UNREADY_DOMAIN_TAG] + toAdd = [VGTagMetadataRW.METADATA_TAG_PREFIX + + lvmTagEncode("%s=%s" % item) + for item in initialMetadata.items()] + toAdd.extend([lvmTagEncode("%s,%s" % (k, v)) + for k, v in mapping.items()]) toAdd.append(STORAGE_DOMAIN_TAG) - - try: - setInitialTags(toRemove, toAdd) - except se.VolumeGroupReplaceTagError: - raise se.VolumeGroupUninitialized(vgName)
if version in sd.DOM_SAFELEASE_VERS: initClusterLock() @@ -653,6 +646,12 @@ else: cls.log.warning("Lock method for version %s unknown", version)
+ try: + setInitialTags(toRemove, toAdd) + except se.VolumeGroupReplaceTagError: + raise se.VolumeGroupUninitialized(vgName) + + lvm.invalidateVG(vgName) return None
def getReadDelay(self):
-- To view, visit http://gerrit.ovirt.org/11695 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange Gerrit-Change-Id: I88b3ede4bd15a884bcd07cf4099f53d30aa98f84 Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Eduardo ewarszaw@redhat.com Gerrit-Reviewer: Yeela Kaplan ykaplan@redhat.com