diff --git a/lib/bdev.py b/lib/bdev.py index 3901ba78d431bb496a7a12c44d2a4ca71beb4f9e..8d41f53b6ced3bf0f066498c89149209e233e7fa 100644 --- a/lib/bdev.py +++ b/lib/bdev.py @@ -813,12 +813,28 @@ class LogicalVolume(BlockDev): return (self._vg_name, snap_name) + def _RemoveOldInfo(self): + """Try to remove old tags from the lv. + + """ + result = utils.RunCmd(["lvs", "-o", "tags", "--noheadings", "--nosuffix", + self.dev_path]) + _CheckResult(result) + + raw_tags = result.stdout.strip() + if raw_tags: + for tag in raw_tags.split(","): + _CheckResult(utils.RunCmd(["lvchange", "--deltag", + tag.strip(), self.dev_path])) + def SetInfo(self, text): """Update metadata with info text. """ BlockDev.SetInfo(self, text) + self._RemoveOldInfo() + # Replace invalid characters text = re.sub("^[^A-Za-z0-9_+.]", "_", text) text = re.sub("[^-A-Za-z0-9_+.]", "_", text)