Change in vdsm[master]: Retry MD reads when validating pool-domain membership.
ewarszaw at redhat.com
ewarszaw at redhat.com
Wed Apr 17 20:18:25 UTC 2013
Eduardo has uploaded a new change for review.
Change subject: Retry MD reads when validating pool-domain membership.
......................................................................
Retry MD reads when validating pool-domain membership.
Assumed that engine has a reason to test a particular SD, a
a failure may be consequence of stale metadata.
Retrying once to read the metadata again in order to overcome
missing storagePoolrefresh'es.
Change-Id: I4c11e1a0ce70e85b17167af5613bf597b42717c8
Signed-off-by: Eduardo <ewarszaw at redhat.com>
---
M vdsm/storage/sp.py
1 file changed, 8 insertions(+), 4 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/13/14013/1
diff --git a/vdsm/storage/sp.py b/vdsm/storage/sp.py
index 9bd538b..f4adeee 100644
--- a/vdsm/storage/sp.py
+++ b/vdsm/storage/sp.py
@@ -498,7 +498,9 @@
@unsecured
def validatePoolSD(self, sdUUID):
if sdUUID not in self.getDomains():
- raise se.StorageDomainNotMemberOfPool(self.spUUID, sdUUID)
+ self._metadata.invalidate()
+ if sdUUID not in self.getDomains():
+ raise se.StorageDomainNotMemberOfPool(self.spUUID, sdUUID)
return True
@unsecured
@@ -507,9 +509,11 @@
Avoid handling domains if not owned by pool.
"""
self.validatePoolSD(dom.sdUUID)
- pools = dom.getPools()
- if self.spUUID not in pools:
- raise se.StorageDomainNotInPool(self.spUUID, dom.sdUUID)
+ if self.spUUID not in dom.getPools():
+ dom.invalidateMetadata()
+ if self.spUUID not in dom.getPools():
+ raise se.StorageDomainNotInPool(self.spUUID, dom.sdUUID)
+ return True
@unsecured
def validatePoolMVerHigher(self, masterVersion):
--
To view, visit http://gerrit.ovirt.org/14013
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I4c11e1a0ce70e85b17167af5613bf597b42717c8
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Eduardo <ewarszaw at redhat.com>
More information about the vdsm-patches
mailing list