Revision 800ac399
b/lib/backend.py | ||
---|---|---|
2143 | 2143 |
@type disk: L{objects.Disk} |
2144 | 2144 |
@param disk: the disk to be snapshotted |
2145 | 2145 |
@rtype: string |
2146 |
@return: snapshot disk path
|
|
2146 |
@return: snapshot disk ID as (vg, lv)
|
|
2147 | 2147 |
|
2148 | 2148 |
""" |
2149 | 2149 |
if disk.dev_type == constants.LD_DRBD8: |
b/lib/bdev.py | ||
---|---|---|
694 | 694 |
def Snapshot(self, size): |
695 | 695 |
"""Create a snapshot copy of an lvm block device. |
696 | 696 |
|
697 |
@returns: tuple (vg, lv) |
|
698 |
|
|
697 | 699 |
""" |
698 | 700 |
snap_name = self._lv_name + ".snap" |
699 | 701 |
|
... | ... | |
715 | 717 |
_ThrowError("command: %s error: %s - %s", |
716 | 718 |
result.cmd, result.fail_reason, result.output) |
717 | 719 |
|
718 |
return snap_name
|
|
720 |
return (self._vg_name, snap_name)
|
|
719 | 721 |
|
720 | 722 |
def SetInfo(self, text): |
721 | 723 |
"""Update metadata with info text. |
b/lib/masterd/instance.py | ||
---|---|---|
1151 | 1151 |
instance = self._instance |
1152 | 1152 |
src_node = instance.primary_node |
1153 | 1153 |
|
1154 |
vgname = self._lu.cfg.GetVGName() |
|
1155 |
|
|
1156 | 1154 |
for idx, disk in enumerate(instance.disks): |
1157 | 1155 |
self._feedback_fn("Creating a snapshot of disk/%s on node %s" % |
1158 | 1156 |
(idx, src_node)) |
... | ... | |
1160 | 1158 |
# result.payload will be a snapshot of an lvm leaf of the one we |
1161 | 1159 |
# passed |
1162 | 1160 |
result = self._lu.rpc.call_blockdev_snapshot(src_node, disk) |
1161 |
new_dev = False |
|
1163 | 1162 |
msg = result.fail_msg |
1164 | 1163 |
if msg: |
1165 | 1164 |
self._lu.LogWarning("Could not snapshot disk/%s on node %s: %s", |
1166 | 1165 |
idx, src_node, msg) |
1167 |
new_dev = False |
|
1166 |
elif (not isinstance(result.payload, (tuple, list)) or |
|
1167 |
len(result.payload) != 2): |
|
1168 |
self._lu.LogWarning("Could not snapshot disk/%s on node %s: invalid" |
|
1169 |
" result '%s'", idx, src_node, result.payload) |
|
1168 | 1170 |
else: |
1169 |
disk_id = (vgname, result.payload)
|
|
1171 |
disk_id = tuple(result.payload)
|
|
1170 | 1172 |
new_dev = objects.Disk(dev_type=constants.LD_LV, size=disk.size, |
1171 | 1173 |
logical_id=disk_id, physical_id=disk_id, |
1172 | 1174 |
iv_name=disk.iv_name) |
Also available in: Unified diff