[NEW PATCH] Remove check for incoming migration in _highWrite (via gerrit-bot)
by Federico Simoncelli
New patch submitted by Federico Simoncelli (fsimonce(a)redhat.com)
You can review this change at: http://gerrit.usersys.redhat.com/706
commit e6a428e85ab03c1e7126eef65872c70e16020f07
Author: Federico Simoncelli <fsimonce(a)redhat.com>
Date: Wed Jul 13 16:25:04 2011 +0000
Remove check for incoming migration in _highWrite
Change-Id: I1c27d429b1c610a5a2d6d1c5b342e0564673c315
diff --git a/vdsm/libvirtvm.py b/vdsm/libvirtvm.py
index 40567a5..bf27692 100644
--- a/vdsm/libvirtvm.py
+++ b/vdsm/libvirtvm.py
@@ -52,9 +52,6 @@ class VmStatsThread(utils.AdvancedStatsThread):
self.sampleCpu, self.sampleDisk, self.sampleNet)
def _highWrite(self):
- if self._vm._incomingMigrationPending():
- return
-
for vmDrive in self._vm._drives:
if vmDrive.blockDev and vmDrive.format == 'cow':
capacity, alloc, physical = \
11 years, 9 months
[NEW PATCH] BZ#XXXXXX Use the correct events to end migration (via gerrit-bot)
by Federico Simoncelli
New patch submitted by Federico Simoncelli (fsimonce(a)redhat.com)
You can review this change at: http://gerrit.usersys.redhat.com/782
commit 2d8ece7d82784049b3b357a923d3f3fbab7e26a9
Author: Federico Simoncelli <fsimonce(a)redhat.com>
Date: Wed Aug 3 10:03:59 2011 +0000
BZ#XXXXXX Use the correct events to end migration
Change-Id: I0e3833bee7da8a3fbd77ad72c244f714b929005e
diff --git a/vdsm/libvirtvm.py b/vdsm/libvirtvm.py
index 318080a..b30cb6a 100644
--- a/vdsm/libvirtvm.py
+++ b/vdsm/libvirtvm.py
@@ -1259,8 +1259,8 @@ class LibvirtVm(vm.Vm):
if detail == libvirt.VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN:
self.user_destroy = True
self._onQemuDeath()
- elif event == libvirt.VIR_DOMAIN_EVENT_STARTED:
- if detail == libvirt.VIR_DOMAIN_EVENT_STARTED_MIGRATED and\
+ elif event == libvirt.VIR_DOMAIN_EVENT_RESUMED:
+ if detail == libvirt.VIR_DOMAIN_EVENT_RESUMED_MIGRATED and\
self.lastStatus == 'Migration Destination':
self._incomingMigrationFinished.set()
elif event == libvirt.VIR_DOMAIN_EVENT_SUSPENDED:
11 years, 9 months
[NEW PATCH] BZ#726400 - Remove lvm operations from StoragePool.__rebuild(). (via gerrit-bot)
by ewarszaw@redhat.com
New patch submitted by Eduardo Warszawski (ewarszaw(a)redhat.com)
You can review this change at: http://gerrit.usersys.redhat.com/832
commit acf5fcd8c69b561161dadca39d1e18df77891160
Author: Eduardo Warszawski <ewarszaw(a)redhat.com>
Date: Thu Aug 18 16:23:51 2011 +0300
BZ#726400 - Remove lvm operations from StoragePool.__rebuild().
Change-Id: I712d57d3d16aba5e394ed42f247b14cf86c44b2d
diff --git a/vdsm/storage/sp.py b/vdsm/storage/sp.py
index 11d337c..09ff28c 100644
--- a/vdsm/storage/sp.py
+++ b/vdsm/storage/sp.py
@@ -19,6 +19,7 @@ import codecs
import constants
import storage_mailbox
import blockSD
+import fileSD
import sd
import misc
from misc import Event
@@ -508,6 +509,7 @@ class StoragePool:
def __masterMigrate(self, sdUUID, msdUUID, masterVersion):
curmsd = SDF.produce(sdUUID)
newmsd = SDF.produce(msdUUID)
+ self._refreshDomainLinks(newmsd)
curmsd.invalidateMetadata()
newmsd.upgrade(curmsd.getVersion())
@@ -861,24 +863,29 @@ class StoragePool:
if msdUUID in domUUIDs:
domUUIDs.remove(msdUUID)
- for domUUID in domUUIDs:
- try:
- d = SDF.produce(domUUID)
- except se.StorageDomainDoesNotExist:
- # We should not rebuild a non-master active domain
- # if it is disconnected. Log the error and continue
- self.log.error("pool %s metadata contains an unknown domain %s", self.spUUID, domUUID, exc_info=True)
- continue
-
- try:
- self._refreshDomainLinks(d)
- except (se.StorageException, OSError):
- self.log.error("Can't refresh domain links", exc_info=True)
- continue
- # Remove domain from potential cleanup
+ #TODO: Consider to remove this whole block. UGLY!
+ #We want to avoid lookups (vgs) of unknown block domains.
+ #domUUIDs includes all the domains, file or block.
+ #fileSDs includes local and NFS domains.
+ block_mountpoint = os.path.join(sd.StorageDomain.storage_repository,
+ sd.DOMAIN_MNT_POINT, sd.BLOCKSD_DIR)
+ domDirs = {} # {domUUID: domaindir}
+ for domUUID, domaindir in fileSD.scanDomains(): #[(fileDomUUID, file_domaindir)]
+ domDirs[domUUID] = domaindir
+ #domDirs contains only fileDomUUID: file_domainPath pairs until now.
+ #Add the block domains
+ blockDomUUIDs = [domUUID for domUUID in domUUIDs if domUUID not in domDirs.iterkeys()]
+ for domUUID in blockDomUUIDs:
+ domaindir = os.path.join(block_mountpoint, domUUID)
+ domDirs[domUUID] = domaindir
+ # create domain special volumes folder
+ domMD = os.path.join(domaindir, sd.DOMAIN_META_DATA)
+ fileUtils.createdir(domMD)
+ #Link all the domains to the pool
+ for domUUID, domaindir in domDirs.iteritems():
linkName = os.path.join(self.poolPath, domUUID)
- if linkName in oldLinks:
- oldLinks.remove(linkName)
+ self._linkStorageDomain(domainDir, linkName)
+
# Always try to build master links
try:
self._refreshDomainLinks(msd)
@@ -890,13 +897,14 @@ class StoragePool:
# Cleanup old trash from the pool
for oldie in oldLinks:
- try:
- os.remove(oldie)
- except OSError as e:
- if e.errno != errno.ENOENT:
- self.log.warn("Could not clean all trash from the pool dom `%s` (%s)", oldie, e)
- except Exception as e:
- self.log.warn("Could not clean all trash from the pool dom `%s` (%s)", oldie, e)
+ if oldie not in domUUIDs:
+ try:
+ os.remove(oldie)
+ except OSError as e:
+ if e.errno != errno.ENOENT:
+ self.log.warn("Could not clean all trash from the pool dom `%s` (%s)", oldie, e)
+ except Exception as e:
+ self.log.warn("Could not clean all trash from the pool dom `%s` (%s)", oldie, e)
def refresh(self, msdUUID=None, masterVersion=None):
11 years, 9 months
[NEW PATCH] BZ#730778 - Add timeout when acquiring resources in prepareVolume (via gerrit-bot)
by smizrahi@redhat.com
New patch submitted by Saggi Mizrahi (smizrahi(a)redhat.com)
You can review this change at: http://gerrit.usersys.redhat.com/859
commit b89e3c611a2d8e696f8c0477769828e93dd91664
Author: Saggi Mizrahi <smizrahi(a)redhat.com>
Date: Sun Aug 28 11:52:05 2011 +0300
BZ#730778 - Add timeout when acquiring resources in prepareVolume
Change-Id: I1bbe6ea0ff82a4af3c728f520546870324363c44
diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py
index f83316c..f063f87 100644
--- a/vdsm/storage/hsm.py
+++ b/vdsm/storage/hsm.py
@@ -1697,8 +1697,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', 'task_resource_default_timeout')
- 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
11 years, 9 months
[NEW PATCH] BZ#733373, BZ#677149 - Assert clenupSpmLinks success. (via gerrit-bot)
by ewarszaw@redhat.com
New patch submitted by Eduardo Warszawski (ewarszaw(a)redhat.com)
You can review this change at: http://gerrit.usersys.redhat.com/864
commit 17827d6522cc7812d9cecbda04baeb1cf1e826e3
Author: Eduardo Warszawski <ewarszaw(a)redhat.com>
Date: Sun Aug 28 17:49:32 2011 +0300
BZ#733373, BZ#677149 - Assert clenupSpmLinks success.
Change-Id: Id16baf5c23a7b71f25030c0443710f9412252367
diff --git a/vdsm/storage/spm.py b/vdsm/storage/spm.py
index ae55e44..7ab969b 100644
--- a/vdsm/storage/spm.py
+++ b/vdsm/storage/spm.py
@@ -222,13 +222,10 @@ class SPM:
"""
Cleanup All SPM related links.
"""
- vms = glob.glob(os.path.join(cls.storage_repository, constants.UUID_GLOB_PATTERN, sd.VMS_DIR))
- tasks = glob.glob(os.path.join(cls.storage_repository, constants.UUID_GLOB_PATTERN, sd.TASKS_DIR))
+ vms = os.path.join(cls.storage_repository, constants.UUID_GLOB_PATTERN, sd.VMS_DIR)
+ tasks = os.path.join(cls.storage_repository, constants.UUID_GLOB_PATTERN, sd.TASKS_DIR)
cls.log.debug("cleaning links; %s %s", vms, tasks)
- for d in vms:
- os.unlink(d)
- for d in tasks:
- os.unlink(d)
+ misc.execCmd(['rm', "-rf", vms, tasks])
def __overrideMethods(self):
11 years, 9 months
[NEW PATCH] Related to BZ#732416 - Fixes to misc.ddWatchCopy() (via gerrit-bot)
by ewarszaw@redhat.com
New patch submitted by Eduardo Warszawski (ewarszaw(a)redhat.com)
You can review this change at: http://gerrit.usersys.redhat.com/876
commit e29a55196a0c12b046e6c845a8034443d9fca9b9
Author: Eduardo Warszawski <ewarszaw(a)redhat.com>
Date: Mon Aug 29 18:57:28 2011 +0300
Related to BZ#732416 - Fixes to misc.ddWatchCopy()
Change-Id: I76d1a73442092769615c7236a2464cbc57bc3b2b
diff --git a/vdsm/storage/blockVolume.py b/vdsm/storage/blockVolume.py
index a4c61f1..9d2e0d7 100644
--- a/vdsm/storage/blockVolume.py
+++ b/vdsm/storage/blockVolume.py
@@ -268,16 +268,13 @@ class BlockVolume(volume.Volume):
if postZero:
self.prepare(justme=True, rw=True, chainrw=force, setrw=True, force=True)
try:
- # wipe out the whole volume
- idle = config.getfloat('irs', 'idle')
- try:
- misc.ddWatchCopy("/dev/zero", vol_path, vars.task.aborting, idle, int(size),
- recoveryCallback=volume.baseAsyncTasksRollback)
- except se.ActionStopped, e:
- raise e
- except Exception, e:
- self.log.error("Unexpected error", exc_info=True)
- raise se.VolumesZeroingError(vol_path)
+ misc.ddWatchCopy("/dev/zero", vol_path, vars.task.aborting, int(size),
+ recoveryCallback=volume.baseAsyncTasksRollback)
+ except se.ActionStopped, e:
+ raise e
+ except Exception, e:
+ self.log.error("Unexpected error", exc_info=True)
+ raise se.VolumesZeroingError(vol_path)
finally:
self.teardown(self.sdUUID, self.volUUID, justme=True)
diff --git a/vdsm/storage/fileVolume.py b/vdsm/storage/fileVolume.py
index f8f5e98..f6aae79 100644
--- a/vdsm/storage/fileVolume.py
+++ b/vdsm/storage/fileVolume.py
@@ -20,7 +20,6 @@
import os
import uuid
-from config import config
import storage_exception as se
from sdf import StorageDomainFactory as SDF
@@ -128,10 +127,9 @@ class FileVolume(volume.Volume):
vars.task.pushRecovery(task.Recovery("halfbaked volume rollback", "fileVolume", "FileVolume", "halfbakedVolumeRollback",
[vol_path]))
if preallocate == volume.PREALLOCATED_VOL:
- idle = config.getfloat('irs', 'idle')
try:
# ddWatchCopy expects size to be in bytes
- misc.ddWatchCopy("/dev/zero", vol_path, vars.task.aborting, idle, (int(size) * 512))
+ misc.ddWatchCopy("/dev/zero", vol_path, vars.task.aborting, (int(size) * 512))
except se.ActionStopped, e:
raise e
except Exception, e:
diff --git a/vdsm/storage/image.py b/vdsm/storage/image.py
index 09c655c..8e86fdc 100644
--- a/vdsm/storage/image.py
+++ b/vdsm/storage/image.py
@@ -571,7 +571,7 @@ class Image:
try:
dstVol = destDom.produceVolume(imgUUID=imgUUID, volUUID=srcVol.volUUID)
srcSize = srcVol.getVolumeSize(bs=1)
- misc.ddWatchCopy(srcVol.getVolumePath(), dstVol.getVolumePath(), vars.task.aborting, self.idle, size=srcSize)
+ misc.ddWatchCopy(srcVol.getVolumePath(), dstVol.getVolumePath(), vars.task.aborting, size=srcSize)
except se.ActionStopped:
raise
except se.StorageException:
diff --git a/vdsm/storage/misc.py b/vdsm/storage/misc.py
index 07e40bc..ad95975 100644
--- a/vdsm/storage/misc.py
+++ b/vdsm/storage/misc.py
@@ -359,18 +359,19 @@ def _alignData(length, offset):
def randomStr(strLen):
return "".join(random.sample(string.letters, strLen))
-def ddWatchCopy(src, dst, stop, idle, size, offset=0, recoveryCallback=None):
+def ddWatchCopy(src, dst, stop, size, offset=0, recoveryCallback=None):
"""
Copy src to dst using dd command with stop abilities
"""
+ try:
+ size = int(size)
+ offset = int(offset)
+ except ValueError:
+ raise se.InvalidParameterException("size = %s, offset = %s" % (size, offset))
+
left = size
baseoffset = offset
- try:
- int(size)
- except:
- raise se.InvalidParameterException("size", size)
-
while left > 0:
(iounit, count, iooffset) = _alignData(left, offset)
oflag = None
@@ -406,11 +407,11 @@ def ddWatchCopy(src, dst, stop, idle, size, offset=0, recoveryCallback=None):
return (rc, out, err)
-def ddCopy(src, dst, size=None):
+def ddCopy(src, dst, size):
"""
Copy src to dst using dd command
"""
- return ddWatchCopy(src, dst, None, None, size=size)
+ return ddWatchCopy(src, dst, None, size=size)
def parseBool(var):
diff --git a/vdsm/storage/volume.py b/vdsm/storage/volume.py
index a5e0a1f..aa3f4ae 100644
--- a/vdsm/storage/volume.py
+++ b/vdsm/storage/volume.py
@@ -930,7 +930,7 @@ def qemuConvert(src, dst, src_fmt, dst_fmt, idle, stop, size, dstvolType):
log.debug('(qemuConvert): COPY %s (%s) to %s (%s) START' % (src, src_fmt, dst, dst_fmt))
if src_fmt == "raw" and dst_fmt == "raw" and dstvolType == PREALLOCATED_VOL:
- (rc, out, err) = misc.ddWatchCopy(src=src, dst=dst, stop=stop, idle=idle, size=size,
+ (rc, out, err) = misc.ddWatchCopy(src=src, dst=dst, stop=stop, size=size,
recoveryCallback=baseAsyncTasksRollback)
else:
cmd = constants.CMD_LOWPRIO + [constants.EXT_QEMUIMG, "convert",
11 years, 9 months
[NEW PATCH] Related to BZ#732416 - Remove unused idle parameter from misc.watchCmd() (via gerrit-bot)
by ewarszaw@redhat.com
New patch submitted by Eduardo Warszawski (ewarszaw(a)redhat.com)
You can review this change at: http://gerrit.usersys.redhat.com/875
commit 86b61918ad4def9d04ad7d11f67e4d1e497dcd66
Author: Eduardo Warszawski <ewarszaw(a)redhat.com>
Date: Mon Aug 29 11:55:30 2011 +0300
Related to BZ#732416 - Remove unused idle parameter from misc.watchCmd()
Change-Id: I123a41dce220f2433e4391cefd4489973756bb2f
diff --git a/vdsm/storage/misc.py b/vdsm/storage/misc.py
index 4dced68..07e40bc 100644
--- a/vdsm/storage/misc.py
+++ b/vdsm/storage/misc.py
@@ -224,7 +224,7 @@ def getProcCtime(pid):
return str(ctime)
-def watchCmd(command, stop, idle, sudo=True, cwd=None, infile=None, outfile=None,
+def watchCmd(command, stop, sudo=True, cwd=None, infile=None, outfile=None,
shell=False, data=None, recoveryCallback=None):
"""
Executes an external command, optionally via sudo with stop abilities.
@@ -391,7 +391,7 @@ def ddWatchCopy(src, dst, stop, idle, size, offset=0, recoveryCallback=None):
if not stop:
(rc, out, err) = execCmd(cmd, sudo=False)
else:
- (rc, out, err) = watchCmd(cmd, stop=stop, idle=idle, sudo=False,
+ (rc, out, err) = watchCmd(cmd, stop=stop, sudo=False,
recoveryCallback=recoveryCallback)
if rc:
diff --git a/vdsm/storage/volume.py b/vdsm/storage/volume.py
index a27b913..a5e0a1f 100644
--- a/vdsm/storage/volume.py
+++ b/vdsm/storage/volume.py
@@ -889,7 +889,7 @@ def qemuCommit(src, fmt, idle, stop):
cwd = os.path.dirname(src)
cmd = constants.CMD_LOWPRIO + [constants.EXT_QEMUIMG, "commit",
"-t", "none", "-f", fmt2str(fmt), src]
- (rc, out, err) = misc.watchCmd(cmd, stop=stop, idle=idle, sudo=False, cwd=cwd,
+ (rc, out, err) = misc.watchCmd(cmd, stop=stop, sudo=False, cwd=cwd,
recoveryCallback=baseAsyncTasksRollback)
log.debug('(qemuCommit): MERGE %s DONE' % (src))
@@ -914,7 +914,7 @@ def qemuRebase(src, srcFormat, backingFile, backingFormat, unsafe, idle, stop, r
recoveryCallback = None
if rollback:
recoveryCallback = baseAsyncTasksRollback
- (rc, out, err) = misc.watchCmd(cmd, stop=stop, idle=idle, sudo=False, cwd=cwd,
+ (rc, out, err) = misc.watchCmd(cmd, stop=stop, sudo=False, cwd=cwd,
recoveryCallback=recoveryCallback)
log.debug('(qemuRebase): REBASE %s DONE' % (src))
@@ -936,7 +936,7 @@ def qemuConvert(src, dst, src_fmt, dst_fmt, idle, stop, size, dstvolType):
cmd = constants.CMD_LOWPRIO + [constants.EXT_QEMUIMG, "convert",
"-t", "none", "-f", src_fmt, src,
"-O",dst_fmt, dst]
- (rc, out, err) = misc.watchCmd(cmd, stop=stop, idle=idle, sudo=False,
+ (rc, out, err) = misc.watchCmd(cmd, stop=stop, sudo=False,
recoveryCallback=baseAsyncTasksRollback)
log.debug('(qemuConvert): COPY %s to %s DONE' % (src, dst))
11 years, 9 months
[NEW PATCH] BZ#732416 - Pluralise lvm remove LV(s) verb. (via gerrit-bot)
by ewarszaw@redhat.com
New patch submitted by Eduardo Warszawski (ewarszaw(a)redhat.com)
You can review this change at: http://gerrit.usersys.redhat.com/874
commit 3dce6a11fb181de12a242e92b6b7b74edbb79d78
Author: Eduardo Warszawski <ewarszaw(a)redhat.com>
Date: Wed Aug 24 22:06:43 2011 +0300
BZ#732416 - Pluralise lvm remove LV(s) verb.
Change-Id: Idbf76445d98dc5b80790f1a54c02f7029f476f65
diff --git a/vdsm/storage/blockSD.py b/vdsm/storage/blockSD.py
index 0b8bc5a..26a5a12 100644
--- a/vdsm/storage/blockSD.py
+++ b/vdsm/storage/blockSD.py
@@ -714,7 +714,7 @@ class BlockStorageDomain(sd.StorageDomain):
for lv in lvs:
#Fix me: Should raise and get resource lock.
try:
- lvm.removeLV(sdUUID, lv.name)
+ lvm.removeLVs(sdUUID, lv.name)
except se.CannotRemoveLogicalVolume, e:
cls.log.warning("Remove logical volume failed %s/%s %s", sdUUID, lv.name, str(e))
diff --git a/vdsm/storage/blockVolume.py b/vdsm/storage/blockVolume.py
index 25ec92c..a4c61f1 100644
--- a/vdsm/storage/blockVolume.py
+++ b/vdsm/storage/blockVolume.py
@@ -86,7 +86,7 @@ class BlockVolume(volume.Volume):
try:
#Fix me: assert resource lock.
lvm.getLV(sdUUID, volUUID)
- lvm.removeLV(sdUUID, volUUID)
+ lvm.removeLVs(sdUUID, volUUID)
except se.LogicalVolumeDoesNotExistError, e:
pass #It's OK: inexistent LV, don't try to remove.
except se.CannotRemoveLogicalVolume, e:
@@ -298,7 +298,7 @@ class BlockVolume(volume.Volume):
try:
try:
- lvm.removeLV(self.sdUUID, self.volUUID)
+ lvm.removeLVs(self.sdUUID, self.volUUID)
except se.CannotRemoveLogicalVolume:
# At this point LV is already marked as illegal, we will try to cleanup whatever we can...
pass
diff --git a/vdsm/storage/lvm.py b/vdsm/storage/lvm.py
index ca90329..1760408 100644
--- a/vdsm/storage/lvm.py
+++ b/vdsm/storage/lvm.py
@@ -979,29 +979,35 @@ def createLV(vgName, lvName, size, activate=True, contiguous=False, initialTag=N
_setLVAvailability(vgName, lvName, "n")
-def removeLV(vgName, lvName):
- #Assert that the LV is inactive before remove.
- if os.path.exists(lvPath(vgName, lvName)):
- #Fix me
- #Should not remove active LVs
- #raise se.CannotRemoveLogicalVolume(vgName, lvName)
- log.warning("Removing active volume %s/%s" % (vgName, lvName))
+def removeLVs(vgName, lvNames):
+ lvNames = _normalizeargs(lvNames)
+ #Assert that the LVs are inactive before remove.
+ for lvName in lvNames:
+ if os.path.exists(lvPath(vgName, lvName)):
+ #Fix me
+ #Should not remove active LVs
+ #raise se.CannotRemoveLogicalVolume(vgName, lvName)
+ log.warning("Removing active volume %s/%s" % (vgName, lvName))
#LV exists or not in cache, attempting to remove it.
#Removing Stubs also. Active Stubs should raise.
# Destroy LV
#Fix me:removes active LVs too. "-f" should be removed.
- cmd = ("lvremove", "-f") + LVM_NOBACKUP + ("%s/%s" % (vgName, lvName),)
+ cmd = ["lvremove", "-f"]
+ cmd.extend(LVM_NOBACKUP)
+ for lvName in lvNames:
+ cmd.append("%s/%s" % (vgName, lvName))
rc, out, err = _lvminfo.cmd(cmd)
if rc == 0:
- # Remove the LV from the cache
- _lvminfo._lvs.pop((vgName, lvName), None)
- # If lvremove succeeded it affected VG as well
- _lvminfo._invalidatevgs(vgName)
+ for lvName in lvNames:
+ # Remove the LV from the cache
+ _lvminfo._lvs.pop((vgName, lvName), None)
+ # If lvremove succeeded it affected VG as well
+ _lvminfo._invalidatevgs(vgName)
else:
# Otherwise LV info needs to be refreshed
_lvminfo._invalidatelvs(vgName, lvName)
- raise se.CannotRemoveLogicalVolume(vgName, lvName)
+ raise se.CannotRemoveLogicalVolume(vgName, str(lvNames))
def extendLV(vgName, lvName, size):
11 years, 9 months
[NEW PATCH] Related to BZ#732416 - Unify criteria for active LV in lvm cache. (via gerrit-bot)
by ewarszaw@redhat.com
New patch submitted by Eduardo Warszawski (ewarszaw(a)redhat.com)
You can review this change at: http://gerrit.usersys.redhat.com/873
commit a9eeef14fb9f786336d3d04bdf6f367af0e6147e
Author: Eduardo Warszawski <ewarszaw(a)redhat.com>
Date: Wed Aug 24 21:38:39 2011 +0300
Related to BZ#732416 - Unify criteria for active LV in lvm cache.
Change-Id: I91506ed397512e51ba5560fbb617e853668ebc0e
diff --git a/vdsm/storage/lvm.py b/vdsm/storage/lvm.py
index 921cf3b..ca90329 100644
--- a/vdsm/storage/lvm.py
+++ b/vdsm/storage/lvm.py
@@ -981,11 +981,10 @@ def createLV(vgName, lvName, size, activate=True, contiguous=False, initialTag=N
def removeLV(vgName, lvName):
#Assert that the LV is inactive before remove.
- lv = _lvminfo._lvs.get((vgName, lvName), None)
- if lv and not isinstance(lv, Stub) and lv.active:
+ if os.path.exists(lvPath(vgName, lvName)):
#Fix me
#Should not remove active LVs
- #raise se.CannotRemoveLogicalVolume(vg, lv)
+ #raise se.CannotRemoveLogicalVolume(vgName, lvName)
log.warning("Removing active volume %s/%s" % (vgName, lvName))
#LV exists or not in cache, attempting to remove it.
11 years, 9 months
[NEW PATCH] Related to BZ#732416 - Remove Irs throttling during copy. (via gerrit-bot)
by ewarszaw@redhat.com
New patch submitted by Eduardo Warszawski (ewarszaw(a)redhat.com)
You can review this change at: http://gerrit.usersys.redhat.com/880
commit 85e6275274ee0c21658dee0a88ad7b7984c14668
Author: Eduardo Warszawski <ewarszaw(a)redhat.com>
Date: Mon Aug 29 19:34:42 2011 +0300
Related to BZ#732416 - Remove Irs throttling during copy.
Change-Id: Ic0a6f200cd9e4917933bc1375b1ae2b09701e021
diff --git a/vdsm/config.py b/vdsm/config.py
index b76f7af..921db2f 100644
--- a/vdsm/config.py
+++ b/vdsm/config.py
@@ -107,9 +107,6 @@ config.add_section('irs')
#####################################################################
config.set('irs', 'irs_enable', 'true')
-#Irs throttling during copy. Set the active time vs idle time
-config.set('irs', 'active', '1.0')
-config.set('irs', 'idle', '1.0')
#Image repository
config.set('irs', 'repository', '/rhev/data-center')
diff --git a/vdsm/storage/image.py b/vdsm/storage/image.py
index 5c6b114..b97c69f 100644
--- a/vdsm/storage/image.py
+++ b/vdsm/storage/image.py
@@ -82,8 +82,6 @@ class Image:
def __init__(self, repoPath):
self.repoPath = repoPath
self.storage_repository = config.get('irs', 'repository')
- self.active = config.getfloat('irs', 'active')
- self.idle = config.getfloat('irs', 'idle')
def create(self, sdUUID, imgUUID):
"""Create placeholder for image's volumes
11 years, 9 months