From patchwork Wed Jun 22 12:25:10 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alberto Garcia X-Patchwork-Id: 9192733 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id AE5E460756 for ; Wed, 22 Jun 2016 13:03:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9F5D5283FD for ; Wed, 22 Jun 2016 13:03:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9419B28404; Wed, 22 Jun 2016 13:03:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 2F41028402 for ; Wed, 22 Jun 2016 13:03:20 +0000 (UTC) Received: from localhost ([::1]:58098 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFhoN-0007Aq-8f for patchwork-qemu-devel@patchwork.kernel.org; Wed, 22 Jun 2016 09:03:19 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50199) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFhEQ-0003kB-6B for qemu-devel@nongnu.org; Wed, 22 Jun 2016 08:26:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bFhEI-00025C-6K for qemu-devel@nongnu.org; Wed, 22 Jun 2016 08:26:09 -0400 Received: from smtp3.mundo-r.com ([212.51.32.191]:50697 helo=smtp4.mundo-r.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFhEH-00023j-Si; Wed, 22 Jun 2016 08:26:02 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2CqAgCmgmpX/5tjdVtUCh6DIIFTpVgBAQEBAQEFAYEPAZExgg+BeoYXAoEsOBQBAQEBAQEBZSeETQIEJ1IQPxI8GxmINAHDCgEBCCeFX4JHhmZ0hQ8FjXhwihWOLYlGhV2PfB42gggcgU9rinEBAQE X-IPAS-Result: A2CqAgCmgmpX/5tjdVtUCh6DIIFTpVgBAQEBAQEFAYEPAZExgg+BeoYXAoEsOBQBAQEBAQEBZSeETQIEJ1IQPxI8GxmINAHDCgEBCCeFX4JHhmZ0hQ8FjXhwihWOLYlGhV2PfB42gggcgU9rinEBAQE X-IronPort-AV: E=Sophos;i="5.26,509,1459807200"; d="scan'208";a="76201869" Received: from fanzine.igalia.com ([91.117.99.155]) by smtp4.mundo-r.com with ESMTP; 22 Jun 2016 14:25:58 +0200 Received: from [194.100.51.2] (helo=perseus.local) by fanzine.igalia.com with esmtpsa (Cipher TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim) id 1bFhEE-0004kT-A0; Wed, 22 Jun 2016 14:25:58 +0200 Received: from berto by perseus.local with local (Exim 4.87) (envelope-from ) id 1bFhDo-0007Fo-Kb; Wed, 22 Jun 2016 15:25:32 +0300 From: Alberto Garcia To: qemu-devel@nongnu.org Date: Wed, 22 Jun 2016 15:25:10 +0300 Message-Id: <64f065be21b96f1d1aa8edb8531c4a0514266d41.1466598035.git.berto@igalia.com> X-Mailer: git-send-email 2.8.1 In-Reply-To: References: In-Reply-To: References: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 212.51.32.191 Subject: [Qemu-devel] [PATCH v2 13/15] blockjob: Add 'id' parameter to 'block-job-resume' X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Alberto Garcia , qemu-block@nongnu.org, Jeff Cody , Max Reitz Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP This patch allows the 'block-job-resume' command to identify the job by either its ID or its device name. The latter becomes now optional since the ID alone is enough to identify the job. The HMP 'block_job_resume' command remains unchanged. Signed-off-by: Alberto Garcia Reviewed-by: Max Reitz --- blockdev.c | 7 +++++-- hmp.c | 2 +- qapi/block-core.json | 7 ++++++- qmp-commands.hx | 2 +- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/blockdev.c b/blockdev.c index 348eaef..5d8d405 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3823,10 +3823,13 @@ void qmp_block_job_pause(bool has_id, const char *id, aio_context_release(aio_context); } -void qmp_block_job_resume(const char *device, Error **errp) +void qmp_block_job_resume(bool has_id, const char *id, + bool has_device, const char *device, Error **errp) { AioContext *aio_context; - BlockJob *job = find_block_job(NULL, device, &aio_context, errp); + BlockJob *job = find_block_job(has_id ? id : NULL, + has_device ? device : NULL, + &aio_context, errp); if (!job || !job->user_paused) { return; diff --git a/hmp.c b/hmp.c index 1f04129..8846673 100644 --- a/hmp.c +++ b/hmp.c @@ -1529,7 +1529,7 @@ void hmp_block_job_resume(Monitor *mon, const QDict *qdict) Error *error = NULL; const char *device = qdict_get_str(qdict, "device"); - qmp_block_job_resume(device, &error); + qmp_block_job_resume(false, NULL, true, device, &error); hmp_handle_error(mon, &error); } diff --git a/qapi/block-core.json b/qapi/block-core.json index 0eaf531..0efa73d 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -1562,6 +1562,11 @@ # # This command also clears the error status of the job. # +# The job must be identified with the @id or @device parameters, but +# only one of them must be set. +# +# @id: #optional the job identifier. (Since 2.7) +# # @device: the device name # # Returns: Nothing on success @@ -1569,7 +1574,7 @@ # # Since: 1.3 ## -{ 'command': 'block-job-resume', 'data': { 'device': 'str' } } +{ 'command': 'block-job-resume', 'data': { '*id': 'str', '*device': 'str' } } ## # @block-job-complete: diff --git a/qmp-commands.hx b/qmp-commands.hx index bd7f749..b2020f3 100644 --- a/qmp-commands.hx +++ b/qmp-commands.hx @@ -1327,7 +1327,7 @@ EQMP }, { .name = "block-job-resume", - .args_type = "device:B", + .args_type = "id:s?,device:B?", .mhandler.cmd_new = qmp_marshal_block_job_resume, }, {