Change in vdsm[master]: Reduce the number of getVolumeSize() calls.

ewarszaw at redhat.com ewarszaw at redhat.com
Fri Aug 16 07:51:13 UTC 2013


Eduardo has uploaded a new change for review.

Change subject: Reduce the number of getVolumeSize() calls.
......................................................................

Reduce the number of getVolumeSize() calls.

Required for reduce the size functions proliferation.

Change-Id: Ic82fab1966bc6606e3c29483bea62dd17b4c56bc
Signed-off-by: Eduardo <ewarszaw at redhat.com>
---
M vdsm/storage/blockVolume.py
M vdsm/storage/fileVolume.py
M vdsm/storage/sp.py
M vdsm/storage/volume.py
4 files changed, 8 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/03/18203/1

diff --git a/vdsm/storage/blockVolume.py b/vdsm/storage/blockVolume.py
index 3ccb9d5..aac18f5 100644
--- a/vdsm/storage/blockVolume.py
+++ b/vdsm/storage/blockVolume.py
@@ -189,7 +189,7 @@
 
         return (dom.sdUUID, mdSlot)
 
-    def delete(self, postZero, force):
+    def delete(self, zeroLen, force):
         """ Delete volume
             'postZero' - zeroing file before deletion
             'force' is required to remove shared and internal volumes
@@ -198,7 +198,6 @@
                       self.volUUID, self.imgUUID, self.sdUUID)
 
         vol_path = self.getVolumePath()
-        size = self.getVolumeSize(bs=1)
         offs = self.getMetaOffset()
 
         if not force:
@@ -207,12 +206,12 @@
         # Mark volume as illegal before deleting
         self.setLegality(volume.ILLEGAL_VOL)
 
-        if postZero:
+        if zeroLen:
             self.prepare(justme=True, rw=True, chainrw=force, setrw=True,
                          force=True)
             try:
                 misc.ddWatchCopy(
-                    "/dev/zero", vol_path, vars.task.aborting, int(size),
+                    "/dev/zero", vol_path, vars.task.aborting, int(zeroLen),
                     recoveryCallback=volume.baseAsyncTasksRollback)
             except utils.ActionStopped:
                 raise
diff --git a/vdsm/storage/fileVolume.py b/vdsm/storage/fileVolume.py
index 0217859..f35ca19 100644
--- a/vdsm/storage/fileVolume.py
+++ b/vdsm/storage/fileVolume.py
@@ -157,7 +157,7 @@
 
         return (volPath,)
 
-    def delete(self, postZero, force):
+    def delete(self, zeroLen, force):
         """
         Delete volume.
             'postZero' - zeroing file before deletion
diff --git a/vdsm/storage/sp.py b/vdsm/storage/sp.py
index 6694fe0..445c70d 100644
--- a/vdsm/storage/sp.py
+++ b/vdsm/storage/sp.py
@@ -2009,8 +2009,9 @@
                                       rm.LockType.exclusive):
             dom = sdCache.produce(sdUUID)
             for volUUID in volumes:
-                dom.produceVolume(imgUUID, volUUID).delete(
-                    postZero=postZero, force=force)
+                zeros = dom.getVSize(imgUUID, volUUID, bs=1) if postZero else 0
+                dom.produceVolume(imgUUID, volUUID).delete(zeroLen=zeros,
+                                                           force=force)
 
     def setMaxHostID(self, spUUID, maxID):
         """
diff --git a/vdsm/storage/volume.py b/vdsm/storage/volume.py
index a49c4de..5c50027 100644
--- a/vdsm/storage/volume.py
+++ b/vdsm/storage/volume.py
@@ -366,7 +366,7 @@
             raise se.createVolumeRollbackError(volUUID)
         pvol = vol.getParentVolume()
         # Remove volume
-        vol.delete(postZero=False, force=True)
+        vol.delete(zeroLen=0, force=True)
         if len(cls.getImageVolumes(repoPath, sdUUID, imgUUID)):
             # Don't remove the image folder itself
             return


-- 
To view, visit http://gerrit.ovirt.org/18203
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic82fab1966bc6606e3c29483bea62dd17b4c56bc
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Eduardo <ewarszaw at redhat.com>


More information about the vdsm-patches mailing list