[NEW PATCH] BZ#704131 - Mutiple set rw on block. (via gerrit-bot)
Eduardo Warszawski
ewarszaw at redhat.com
Tue Aug 2 12:51:43 UTC 2011
New patch submitted by Eduardo Warszawski (ewarszaw at redhat.com)
You can review this change at: http://gerrit.usersys.redhat.com/763
commit 024291927b46aecad7c3124291bdfd14a589fb17
Author: Eduardo Warszawski <ewarszaw at redhat.com>
Date: Wed Jul 27 16:54:18 2011 +0300
BZ#704131 - Mutiple set rw on block.
Change-Id: Ie98bda6d327f0a7c2f29636830e4f9cfde27c29e
diff --git a/vdsm/storage/lvm.py b/vdsm/storage/lvm.py
index 9c62c00..96873e2 100644
--- a/vdsm/storage/lvm.py
+++ b/vdsm/storage/lvm.py
@@ -1150,19 +1150,21 @@ def listPVNames(vgName):
return [pv.name for pv in pvs if pv.vg_name == vgName]
-def setrwLV(vg, lv, rw=True):
+def setrwLV(vgName, lvNames, rw=True):
permission = {False:'r', True:'rw'}[rw]
try:
- _changelv(vg, lv, "--permission", permission)
+ _changelv(vgName, lvNames, "--permission", permission)
except se.StorageException:
- l = getLV(vg, lv)
- if l.writeable == rw:
+ reloaded = _lvminfo._reloadlvs(vgName).values()
+ failed = []
+ for lv in reloaded:
+ if lv.writeable != rw:
+ failed.append(lv.name)
# Ignore the error since lv is now rw, hoping that the error was
# because lv was already rw, see BZ#654691. We may hide here another
# lvchange error.
- return
-
- raise se.CannotSetRWLogicalVolume(vg, lv, permission)
+ if failed:
+ raise se.CannotSetRWLogicalVolume(vgName, " ".join(failed), permission)
def lvsByTag(vg, tag):
More information about the vdsm-patches
mailing list