summaryrefslogtreecommitdiffstats
path: root/nova/volume
diff options
context:
space:
mode:
authorJesse Andrews <anotherjesse@gmail.com>2011-04-13 17:19:25 +0000
committerTarmac <>2011-04-13 17:19:25 +0000
commit5c9cfbd4aab55ac755cbfcd24922c2e883bcbe8b (patch)
treeaeb02a0df5d671800de903935335050438587c51 /nova/volume
parentff39c824f46513621383a2ebdbc0ff1427fe7d8e (diff)
parent7206aa7af5f7d945ce9dfeff8de786bfd416ab21 (diff)
downloadnova-5c9cfbd4aab55ac755cbfcd24922c2e883bcbe8b.tar.gz
nova-5c9cfbd4aab55ac755cbfcd24922c2e883bcbe8b.tar.xz
nova-5c9cfbd4aab55ac755cbfcd24922c2e883bcbe8b.zip
Zero out volumes during deletion to prevent data leaking between users
Diffstat (limited to 'nova/volume')
-rw-r--r--nova/volume/driver.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/nova/volume/driver.py b/nova/volume/driver.py
index 85ff17708..55307ad9b 100644
--- a/nova/volume/driver.py
+++ b/nova/volume/driver.py
@@ -112,6 +112,12 @@ class VolumeDriver(object):
# If the volume isn't present, then don't attempt to delete
return True
+ # zero out old volumes to prevent data leaking between users
+ # TODO(ja): reclaiming space should be done lazy and low priority
+ self._execute('sudo', 'dd', 'if=/dev/zero',
+ 'of=%s' % self.local_path(volume),
+ 'count=%d' % (volume['size'] * 1024),
+ 'bs=1M')
self._try_execute('sudo', 'lvremove', '-f', "%s/%s" %
(FLAGS.volume_group,
volume['name']))