From 70817ceeb4d281f54366b10aa8e0a59bcd92584f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Nussbaumer?= <rn@google.com>
Date: Tue, 26 Jun 2012 13:24:50 +0200
Subject: [PATCH] Annotate disk parameters on blockdev_getmirrorstatus
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Not annotating them works for DRBD but not for RBD as reported by
Constantinos.

Signed-off-by: RenΓ© Nussbaumer <rn@google.com>
Reviewed-by: Agata Murawska <agatamurawska@google.com>
---
 lib/cmdlib.py   | 5 +++--
 lib/rpc_defs.py | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index 5f6c7afcf..0029885b0 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -1611,7 +1611,8 @@ def _FindFaultyInstanceDisks(cfg, rpc_runner, instance, node_name, prereq):
   for dev in instance.disks:
     cfg.SetDiskID(dev, node_name)
 
-  result = rpc_runner.call_blockdev_getmirrorstatus(node_name, instance.disks)
+  result = rpc_runner.call_blockdev_getmirrorstatus(node_name, (instance.disks,
+                                                                instance))
   result.Raise("Failed to get disk status from node %s" % node_name,
                prereq=prereq, ecode=errors.ECODE_ENVIRON)
 
@@ -4475,7 +4476,7 @@ def _WaitForSync(lu, instance, disks=None, oneshot=False):
     max_time = 0
     done = True
     cumul_degraded = False
-    rstats = lu.rpc.call_blockdev_getmirrorstatus(node, disks)
+    rstats = lu.rpc.call_blockdev_getmirrorstatus(node, (disks, instance))
     msg = rstats.fail_msg
     if msg:
       lu.LogWarning("Can't get any data from node %s: %s", node, msg)
diff --git a/lib/rpc_defs.py b/lib/rpc_defs.py
index 35c5a490c..6265ba859 100644
--- a/lib/rpc_defs.py
+++ b/lib/rpc_defs.py
@@ -411,7 +411,7 @@ _BLOCKDEV_CALLS = [
     ], None, _BlockdevFindPostProc,
     "Request identification of a given block device"),
   ("blockdev_getmirrorstatus", SINGLE, None, TMO_NORMAL, [
-    ("disks", ED_OBJECT_DICT_LIST, None),
+    ("disks", ED_DISKS_DICT_DP, None),
     ], None, _BlockdevGetMirrorStatusPostProc,
     "Request status of a (mirroring) device"),
   ("blockdev_getmirrorstatus_multi", MULTI, None, TMO_NORMAL, [
-- 
GitLab