]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
LVM: Activate source snap LV when cloning from volume
authorEric Harney <eharney@redhat.com>
Fri, 13 Dec 2013 16:18:56 +0000 (11:18 -0500)
committerEric Harney <eharney@redhat.com>
Fri, 13 Dec 2013 20:49:59 +0000 (15:49 -0500)
Similar to the change made in:
01a2199 LVM: Activate source LV before cloning from it

Previous change only fixed this issue for clone-from-snapshot.

This activates the source snapshot LV when cloning from volume
as well, fixing the problem where cloning fails due to inability
to open the source LV device.

Change-Id: If48be8516fd71738cb83a91683c33d02f227b9d6
Related-Bug: 1252423
Closes-Bug: 1260786

cinder/tests/brick/fake_lvm.py
cinder/volume/drivers/lvm.py

index a6f76ab9b52c3abd8f691a02cdb40f3bd48dcc17..d6eec28f55c36daea405e3de820565c35e76e6e1 100644 (file)
@@ -67,3 +67,6 @@ class FakeBrickLVM(object):
 
     def lv_has_snapshot(self, name):
         return False
+
+    def activate_lv(self, lv, is_snapshot=False):
+        pass
index 3529fe95536f7f7654a045cc37a2e2029a1e8590..220b865d1baf2cfe7abbd756818d5316e3ce116b 100644 (file)
@@ -309,6 +309,8 @@ class LVMVolumeDriver(driver.VolumeDriver):
                             self.configuration.lvm_type,
                             mirror_count)
 
+        self.vg.activate_lv(temp_snapshot['name'], is_snapshot=True)
+
         try:
             volutils.copy_volume(self.local_path(temp_snapshot),
                                  self.local_path(volume),