]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Don't use shred for volume_clear=zero
authorEric Harney <eharney@redhat.com>
Tue, 4 Feb 2014 19:06:59 +0000 (14:06 -0500)
committerEric Harney <eharney@redhat.com>
Wed, 5 Feb 2014 18:53:14 +0000 (13:53 -0500)
We should just call copy_volume unless volume_clear='shred' is
specified.

Change-Id: Id5e15b000cf0d6146ec13f42ff5bb611b6f18484

cinder/tests/test_volume_utils.py
cinder/volume/utils.py

index e92e381789be49a44c5d1ed345aa88ce894b53b5..4bb1464ea2e65ff660a02099304731495d8129ef 100644 (file)
@@ -165,12 +165,13 @@ class ClearVolumeTestCase(test.TestCase):
         self.mox.ReplayAll()
         volume_utils.clear_volume(1024, "volume_path")
 
-    def test_clear_volume_zero_and_shred(self):
+    def test_clear_volume_zero(self):
         CONF.volume_clear = 'zero'
         CONF.volume_clear_size = 1
-        clear_cmd = ['shred', '-n0', '-z', '-s1MiB', "volume_path"]
-        self.mox.StubOutWithMock(utils, "execute")
-        utils.execute(*clear_cmd, run_as_root=True)
+        self.mox.StubOutWithMock(volume_utils, 'copy_volume')
+        volume_utils.copy_volume("/dev/zero", "volume_path", 1,
+                                 CONF.volume_dd_blocksize, sync=True,
+                                 execute=utils.execute)
         self.mox.ReplayAll()
         volume_utils.clear_volume(1024, "volume_path")
 
index 8f57509cfc0d52a5b18b09127b53d9e6c4c6a1e4..6429d5590d50b69a7c0568f5cc6c0d7591f2ac62 100644 (file)
@@ -193,15 +193,15 @@ def clear_volume(volume_size, volume_path, volume_clear=None,
     if volume_clear_size is None:
         volume_clear_size = CONF.volume_clear_size
 
+    if volume_clear_size == 0:
+        volume_clear_size = volume_size
+
     LOG.info(_("Performing secure delete on volume: %s") % volume_path)
 
     if volume_clear == 'zero':
-        if volume_clear_size == 0:
-            return copy_volume('/dev/zero', volume_path, volume_size,
-                               CONF.volume_dd_blocksize,
-                               sync=True, execute=utils.execute)
-        else:
-            clear_cmd = ['shred', '-n0', '-z', '-s%dMiB' % volume_clear_size]
+        return copy_volume('/dev/zero', volume_path, volume_clear_size,
+                           CONF.volume_dd_blocksize,
+                           sync=True, execute=utils.execute)
     elif volume_clear == 'shred':
         clear_cmd = ['shred', '-n3']
         if volume_clear_size: