Signed-off-by: Aaron Karper <[email protected]>
---
lib/cmdlib/instance.py | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/lib/cmdlib/instance.py b/lib/cmdlib/instance.py
index 8eb6e93..74584f8 100644
--- a/lib/cmdlib/instance.py
+++ b/lib/cmdlib/instance.py
@@ -2053,7 +2053,7 @@ class LUInstanceRemove(LogicalUnit):
class LUInstanceMove(LogicalUnit):
- """Move an instance by data-copying.
+ """Move an instance by data-copying if necessary.
"""
HPATH = "instance-move"
@@ -2195,13 +2195,16 @@ class LUInstanceMove(LogicalUnit):
disks = self.cfg.GetInstanceDisks(self.instance.uuid)
for idx, disk in enumerate(disks):
# FIXME: pass debug option from opcode to backend
- dt = masterd.instance.DiskTransfer("disk/%s" % idx,
- constants.IEIO_RAW_DISK,
- (disk, self.instance),
- constants.IEIO_RAW_DISK,
- (disk, self.instance),
- None)
- transfers.append(dt)
+ if disk.dev_type in constants.DTS_COPYABLE:
+ # if disk.dev_type is merely MOVABLE, it means it is available
+ # automatically, e.g. by sharedfile or Ceph.
+ dt = masterd.instance.DiskTransfer("disk/%s" % idx,
+ constants.IEIO_RAW_DISK,
+ (disk, self.instance),
+ constants.IEIO_RAW_DISK,
+ (disk, self.instance),
+ None)
+ transfers.append(dt)
self.cfg.Update(disk, feedback_fn)
import_result = \
--
2.1.0.rc2.206.gedb03e5