+ def call_blockdev_getmirrorstatus_multi(self, node_list, node_disks):
+ """Request status of (mirroring) devices from multiple nodes.
+
+ This is a multi-node call.
+
+ """
+ result = self._MultiNodeCall(node_list, "blockdev_getmirrorstatus_multi",
+ [dict((name, [dsk.ToDict() for dsk in disks])
+ for name, disks in node_disks.items())])
+ for nres in result.values():
+ if nres.fail_msg:
+ continue
+
+ for idx, (success, status) in enumerate(nres.payload):
+ if success:
+ nres.payload[idx] = (success, objects.BlockDevStatus.FromDict(status))
+
+ return result
+
+ @_RpcTimeout(_TMO_NORMAL)