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