[NEW PATCH] BZ#730778 - Add timeout when acquiring resources in prepareVolume (via gerrit-bot)
Dan Kenigsberg
danken at redhat.com
Wed Sep 14 14:53:48 UTC 2011
New patch submitted by Dan Kenigsberg (danken at redhat.com)
You can review this change at: http://gerrit.usersys.redhat.com/859
commit 2c7b2b43deb96cda916225e2bd64ef77d041d5d7
Author: Saggi Mizrahi <smizrahi at redhat.com>
Date: Sun Aug 28 11:52:05 2011 +0300
BZ#730778 - Add timeout when acquiring resources in prepareVolume
Also added seperate timeout for prepare volume operations because they
might take longer
Change-Id: I1bbe6ea0ff82a4af3c728f520546870324363c44
diff --git a/vdsm/config.py b/vdsm/config.py
index 217b58c..f267762 100644
--- a/vdsm/config.py
+++ b/vdsm/config.py
@@ -159,6 +159,7 @@ config.set('irs', 'maximum_allowed_pvs', '8')
config.set('irs', 'repo_stats_cache_refresh_timeout', '300')
config.set('irs', 'task_resource_default_timeout', '120000')
+config.set('irs', 'prepare_image_timeout', '600000')
config.set('irs', 'gc_blocker_force_collect_interval', '60')
config.set('irs', 'maximum_domains_in_pool', '100')
diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py
index 85fa5da..b0ee212 100644
--- a/vdsm/storage/hsm.py
+++ b/vdsm/storage/hsm.py
@@ -1702,8 +1702,9 @@ class HSM:
vars.task.getSharedLock(STORAGE, sdUUID)
imageResourcesNamespace = sd.getNamespace(sdUUID, IMAGE_NAMESPACE)
lockType = rm.LockType.exclusive if rw else rm.LockType.shared
+ timeout = config.getint('irs', 'prepare_image_timeout') / 1000.0
- imgResource = rmanager.acquireResource(imageResourcesNamespace, imgUUID, lockType)
+ imgResource = rmanager.acquireResource(imageResourcesNamespace, imgUUID, lockType, timeout)
try:
vol = SDF.produce(sdUUID=sdUUID).produceVolume(imgUUID=imgUUID, volUUID=volUUID)
# NB We want to be sure that at this point HSM does not use stale LVM
diff --git a/vdsm/storage/resourceFactories.py b/vdsm/storage/resourceFactories.py
index f71ecd9..3d71edf 100644
--- a/vdsm/storage/resourceFactories.py
+++ b/vdsm/storage/resourceFactories.py
@@ -102,7 +102,7 @@ class ImageResourceFactory(rm.SimpleResourceFactory):
storage_repository = config.get('irs', 'repository')
# Resource timeouts are in seconds. It's written in ms in the config for
# backward competability reasons
- resource_default_timeout = config.getint('irs', 'task_resource_default_timeout') / 1000.0
+ resource_default_timeout = config.getint('irs', 'prepare_image_timeout') / 1000.0
def __init__(self, sdUUID):
rm.SimpleResourceFactory.__init__(self)
More information about the vdsm-patches
mailing list