From 9c007da897fa9ab488f92e17f58dc83afee0a91c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Nussbaumer?= <rn@google.com>
Date: Fri, 7 Jan 2011 14:18:12 +0100
Subject: [PATCH] Add RPC calls for pause/resume sync of devices
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: RenΓ© Nussbaumer <rn@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
---
 lib/rpc.py          | 10 ++++++++++
 lib/server/noded.py |  9 +++++++++
 2 files changed, 19 insertions(+)

diff --git a/lib/rpc.py b/lib/rpc.py
index 609549ed7..633dc6a7a 100644
--- a/lib/rpc.py
+++ b/lib/rpc.py
@@ -988,6 +988,16 @@ class RpcRunner(object):
     return self._SingleNodeCall(node, "blockdev_rename",
                                 [(d.ToDict(), uid) for d, uid in devlist])
 
+  @_RpcTimeout(_TMO_NORMAL)
+  def call_blockdev_pause_resume_sync(self, node, disks, pause):
+    """Request a pause/resume of given block device.
+
+    This is a single-node call.
+
+    """
+    return self._SingleNodeCall(node, "blockdev_pause_resume_sync",
+                                [[bdev.ToDict() for bdev in disks], pause])
+
   @_RpcTimeout(_TMO_NORMAL)
   def call_blockdev_assemble(self, node, disk, owner, on_primary):
     """Request assembling of a given block device.
diff --git a/lib/server/noded.py b/lib/server/noded.py
index 63d5e474c..bf557bc17 100644
--- a/lib/server/noded.py
+++ b/lib/server/noded.py
@@ -183,6 +183,15 @@ class NodeHttpServer(http.server.HttpServer):
       raise ValueError("can't unserialize data!")
     return backend.BlockdevCreate(bdev, size, owner, on_primary, info)
 
+  @staticmethod
+  def perspective_blockdev_pause_resume_sync(params):
+    """Pause/resume sync of a block device.
+
+    """
+    disks_s, pause = params
+    disks = [objects.Disk.FromDict(bdev_s) for bdev_s in disks_s]
+    return backend.BlockdevPauseResumeSync(disks, pause)
+
   @staticmethod
   def perspective_blockdev_wipe(params):
     """Wipe a block device.
-- 
GitLab