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