From patchwork Thu May 6 14:13:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12242215 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C868CC433B4 for ; Thu, 6 May 2021 14:17:02 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0ADCA61075 for ; Thu, 6 May 2021 14:17:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0ADCA61075 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:39858 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1leeoG-0005ag-W2 for qemu-devel@archiver.kernel.org; Thu, 06 May 2021 10:17:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39898) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1leelm-0003OT-Cw; Thu, 06 May 2021 10:14:26 -0400 Received: from mail-db8eur05on2110.outbound.protection.outlook.com ([40.107.20.110]:13665 helo=EUR05-DB8-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1leele-0004Fk-IM; Thu, 06 May 2021 10:14:26 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iSpv1AE87XGaD5bKxfpYisb6WfV612H5GH2A4xbw6WxoSvuugtQQCYdP4fZXZTPTkxiKKtEGSaGtFxBasHdwhsJ9kJujrt8w/DXI3ZXXhz2nyHss/yix16NIuxIn5AkjvHnVFHGci8zuVhkP85vX4Un+R9b51hJrJ3LB9Nul85WxwjG+TJBKVLbLNgsYAyPi1YcEEi/9tQk7vnDBEVyf/uZr9uvQSyR+tek+mLf2zg+xKBW0jHi1bdWsyftXglsDAB8KnL90od5AUMcm5geF83KCEREI50mS0EjlQn6nKgdRCjrUydh5LX7zGEApjf0VUXrCtnvE0Z5N/DKWYfqVyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YGfWWHRODj1PHh7PS3HwJMLPZWYiYImBx6l99RnydFY=; b=feRwPK2L/Jj/Sv4zL0W8rXUe8//Lv6VSb2J4oPPKbUs8I0W8NLUorXUqr4A3W9KWHb5qwryncfV7938DxSsBBMKYUHirOEExp/mKPJVJ6mnYNCeTSEUwOCAULn9NCq91Je2LuZ+Bv3hfW3hDZdL8EnqLT3H/f1qd3x3ouHYYFDVn6uW4gyxpaZ1Ix5C2+itwcTppK18OMhV1njf41BkN7zLzSpswMWUnXKAWENpJu1cC1gQlacHfrNQmetvs3MocPZgQspeKJIDhjoMG005bnY65k420BFVj2B1iKyz1HaEt3gdBt3u6tvYShfdIwbtNRsnpMV4CCzzLsid6GfGiaw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YGfWWHRODj1PHh7PS3HwJMLPZWYiYImBx6l99RnydFY=; b=twsmLduwnKzkhmPBP3RxDzKSL4Hct/9Pf8MtKbUCFuEQkjH5md2xO+XXaGV52/hmmyI6vLlGAB8APOaZO9qiUGY9CoM4lz+J6wujHlZZhAFQ3bNDFSNHnLLnMcn0U4DlFR0aihp8zBB+tEwdpV0yOaAwC68uElZHsYlO8n4v17Q= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB5205.eurprd08.prod.outlook.com (2603:10a6:20b:ee::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25; Thu, 6 May 2021 14:14:12 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133%7]) with mapi id 15.20.4108.026; Thu, 6 May 2021 14:14:12 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, armbru@redhat.com, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com Subject: [PATCH 1/5] blockjob: implement and use block_job_get_aio_context Date: Thu, 6 May 2021 17:13:53 +0300 Message-Id: <20210506141357.314257-2-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210506141357.314257-1-vsementsov@virtuozzo.com> References: <20210506141357.314257-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.236] X-ClientProxiedBy: HE1PR0501CA0037.eurprd05.prod.outlook.com (2603:10a6:3:1a::47) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (185.215.60.236) by HE1PR0501CA0037.eurprd05.prod.outlook.com (2603:10a6:3:1a::47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend Transport; Thu, 6 May 2021 14:14:11 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 35d09fff-a55f-4d14-ee63-08d9109938c3 X-MS-TrafficTypeDiagnostic: AM6PR08MB5205: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jMcm8VNj8oNAS7dbQ4/8odC3Z7gwF0i68z8mVoFuNQ88R/HPFColmTQC8XV8ZXXvFzovV75AMytkdGAMzfbkAv8Rd1cqMhLN9Jtdk3BeDWckrsYqmaywpdjAsDTkgqbrzr9Q0JUpFvSWPwWUqwpQDlDl4F4MzZ6nSDsTl0L2n8vO+HC5lUInimdK/HUUu6IOv993hZrY3CQxhpkvm4nNss+6xC0TLVOJtjZUmEtMpYOPYGsDNBP6B8mXU16RKwHauJdH34bpSXsaoxNyOV3kwTRW2FfZxnxJvUKgnA0mfQ5DA+phT2g09bKE9nf4tCzFyA73/eM+oi124OiS0pW8szVnjjW8OcxgM4FCPrigPE9o0cTXrnZavo4ykUZjJzDxX0JVIOw4KrisWfB52x7qSuor2LP1+8SgpGC1ZApR0g3MgKhMXFoW0/IaJs+p47BUa1fs3R2HJnP+xHGUgRwNyhuoXqZO85rgUS1YUggSrw8RUFY4Sb2hM9CXXYjaGQPWxsOE2JSj9sZxVkiWT7eW/tsvPaq7f13WCa+PGWR9GhIniujz7Kk4+5L4i3E/xPq0VFcSTGqA0K7iM7TtSN9iTFELOJmvq0EkXW5hjpEKS2+tch6gUrLb88ePg7aF35R+DRLUAX1JfylUCqWCeTeH2DjtD7whnqyl4tYh/BYZCih+Y0f/TeRPc5lEMtFPdxMl X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR08MB5494.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39840400004)(346002)(396003)(376002)(136003)(366004)(66476007)(6666004)(38350700002)(1076003)(16526019)(6512007)(66946007)(478600001)(38100700002)(2616005)(6916009)(956004)(36756003)(2906002)(186003)(4326008)(316002)(86362001)(83380400001)(8676002)(6506007)(5660300002)(8936002)(66556008)(26005)(52116002)(6486002)(69590400013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: Q/MuGUp7Qde/pTCsZI2noyWnqC8/XJTFfKVLKq8ZP3TS+KcQJysDpH9vL+isB4LSbYOuBCHgSsmp1hy9I0AhvK6/xU/x/p7j+rq0HzPjDeljb/eHLEY6AO9zKttuTCmLSU4YeXEY8SvU80ovA9+pf/8/5cb0uOy9cFV25jf5RE9j7hkPp9PMuSfZTkblEmdYT5jFYOlmN7OOjZnEnuWNj3QayZljYJEkzSUwqqGoqi9adgi/KPp4EBe1NoegdGnmxoOM5kPuIBL7zeg+GMtS3I0YVX/pLiTY4+f98mMAYSHL3hsXOH68iKLYA8eYFoObSFG2VrmUnSy510j5Ao/dMSERoJZCEQ5bQ6PQu3boTu8Pi9vzXQosfECdGxldPwCWiRWiPDjK2CP+1mnmCbO3VO/eerVLdPn7HM2GbGCfK0iCReSwk+QwLCpWWm+6wOE/N5lAms/KEOmFp0vcegeVtzUkeYxyJWOHFfP3X8prUqqNUagGpdePOYYEW7ORXm+nkCnr1alsg1bMtJeUdG7YrvV/NHKEW6AvfqSvd+KABgXeT/d/rhEQa5hspcnr4kI2NuIIgBuJeVmCse/YqnSCQaiy6GINCW+wzK9R7zb1pTHlSbNISldrnUlmbvD7GxWhBFfc7k1KpGq0Rox6KZGpArjxO3VEDHQImDtw5qn4uoFAHEDCarGTlgI4U4yX1peXfzwU9rmtiKceATKvXYKQgGBGJPxRBYoU2BaZ6Kg5/yNDGV5IXLyTDi79lxKA/fqreTLKLK1ggdLBz3+FRDasBU659zmSzsRTRcO8/SNaCGaxV+LahMxbg4rsUQQmaOtpmbVuEXndResmGk1vf+Vc2bBUVC8icj+P25pD6t5Cc6sT4YD4qJ64ZFDMyFPNXkYbYE44IHQ+f+1OTb0X7qPSqYfMTaDKvR7k/4Q/QlnyJUYIaDeEC45EhVY13E3B09grk2qqeGyrcOAr/ag7R6RL+QM2V0HwLwjCPhRXJ/Sn5nVyqB4pBXcoQq2+Ml0ffSl3JP7S6NY1+c+FcqvILPYs5xBX7MO2trzpGqe17xEBzz3rw1NY1rR7KFNvVsw7fyQ8rPUJ+TYNqKjImbmYevt3l3Krc89Hcvxomz0bEt5hjrRIBYEmAIuy0+Tp1BrU5GzYGqODfzfbb8HI3I/PB+f1RMqMAm/DVMCiyTCHQ1NMsv68ef6QBLiTym1Lvpbha3oiMlud+9jSXQA9aFSXfbsgedJCZYj6/xd+vwPX1unbyAedfrq8PFp2unhqY5yZ5MrhtOy58ljJUxIyH0IWKcG5ZW4CIhqtbwLJozM5nTzIN8P3Wseegm3n0Npu9gZJhHu4 X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 35d09fff-a55f-4d14-ee63-08d9109938c3 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2021 14:14:11.9494 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: KMlgQ9NGgk2w9+IwA7izG7C3lFtB1WclRtffP3OXOzHMf2lAlPvPci3AVh6OZxqE5aDGlU15y5pYbWGpPDnWUodbMUiORjjkWmB7iM1H+yE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5205 Received-SPF: pass client-ip=40.107.20.110; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-DB8-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" We are going to drop BlockJob.blk. So let's retrieve block job context from underlying job instead of main node. Signed-off-by: Vladimir Sementsov-Ogievskiy --- include/block/blockjob.h | 7 +++++++ blockdev.c | 6 +++--- blockjob.c | 5 +++++ qemu-img.c | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/include/block/blockjob.h b/include/block/blockjob.h index d200f33c10..3b84805140 100644 --- a/include/block/blockjob.h +++ b/include/block/blockjob.h @@ -173,4 +173,11 @@ bool block_job_is_internal(BlockJob *job); */ const BlockJobDriver *block_job_driver(BlockJob *job); +/* + * block_job_get_aio_context: + * + * Returns aio context associated with a block job. + */ +AioContext *block_job_get_aio_context(BlockJob *job); + #endif diff --git a/blockdev.c b/blockdev.c index 834c2304a1..18ed8cd03f 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3328,7 +3328,7 @@ static BlockJob *find_block_job(const char *id, AioContext **aio_context, return NULL; } - *aio_context = blk_get_aio_context(job->blk); + *aio_context = block_job_get_aio_context(job); aio_context_acquire(*aio_context); return job; @@ -3433,7 +3433,7 @@ void qmp_block_job_finalize(const char *id, Error **errp) * automatically acquires the new one), so make sure we release the correct * one. */ - aio_context = blk_get_aio_context(job->blk); + aio_context = block_job_get_aio_context(job); job_unref(&job->job); aio_context_release(aio_context); } @@ -3710,7 +3710,7 @@ BlockJobInfoList *qmp_query_block_jobs(Error **errp) if (block_job_is_internal(job)) { continue; } - aio_context = blk_get_aio_context(job->blk); + aio_context = block_job_get_aio_context(job); aio_context_acquire(aio_context); value = block_job_query(job, errp); aio_context_release(aio_context); diff --git a/blockjob.c b/blockjob.c index 2fe1d788ba..2c168b93b0 100644 --- a/blockjob.c +++ b/blockjob.c @@ -534,3 +534,8 @@ BlockErrorAction block_job_error_action(BlockJob *job, BlockdevOnError on_err, } return action; } + +AioContext *block_job_get_aio_context(BlockJob *job) +{ + return job->job.aio_context; +} diff --git a/qemu-img.c b/qemu-img.c index a5993682aa..b690d3ae2b 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -900,7 +900,7 @@ static void common_block_job_cb(void *opaque, int ret) static void run_block_job(BlockJob *job, Error **errp) { - AioContext *aio_context = blk_get_aio_context(job->blk); + AioContext *aio_context = block_job_get_aio_context(job); int ret = 0; aio_context_acquire(aio_context); From patchwork Thu May 6 14:13:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12242221 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 96C2BC433ED for ; Thu, 6 May 2021 14:19:26 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0A2B7610FC for ; Thu, 6 May 2021 14:19:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0A2B7610FC Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:49366 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1leeqb-00014T-3Q for qemu-devel@archiver.kernel.org; Thu, 06 May 2021 10:19:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39938) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1leelo-0003Tz-Rm; Thu, 06 May 2021 10:14:28 -0400 Received: from mail-db8eur05on2110.outbound.protection.outlook.com ([40.107.20.110]:13665 helo=EUR05-DB8-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1leeln-0004Fk-04; Thu, 06 May 2021 10:14:28 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NGKOE2P4kSm64YNs/4lhlUt+ATkieHaWnAKBPNb2u8qUi/CX9WGFVI0otB+96QgipeUxLziNcYycbeJ77iuY06fBee/dM0lWEsKE7ydU2hWgoBzkaYZIy5F8j9jE7lF7HzPEoq3waN82hcKPYxdWWzT217OVRs3tAsVQJsaXTX2UaKqP8c1X8g0nVxkg9j8KDbH3x7O3xleHUJcZvTal2EA8k8uICB6fyZ9ZVjihkwKqpTdKM01dcYi0HXCtXIHZT7dH9E6794EBYsS8vmnMls20RYTTIITZQZ3sLroIYeRUk7KlgK0Qu/nrI3SELPGxoh6ztKRKZEj0MjaNPHkILQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=j9gasYSoTFXfN8wbh0Bf33uwzVfDQpDZQbG8MtPq9kc=; b=ju08zqoMngnybBpvDEvcqcYzmIZnz0HzjfXo4ZjlT6LZU2wTz5w5kj4b93AB/V+u6Y3Z+F7Ro9+wd+jITJzXABjZpm48JDW3TByDepyjbBJ16R3vgRu333uexyq6tBVGaTX/mnVBg5pmjGxpp8ccVUW8iXOswU/3D+R94rDlvXAqEc2mw7K++AF7iuyNSPKVDscwt3IoygU7xWafyVoeITrcdT9tDnwZ3k4jw9Dh9QFLIqgbC393yIx9RIvCQGInwLZz5CrtAELrmvLOD+WC734h68cTrWG3QCnKGsW9CvEApqBen5V1A76i5r1OJy29J1Sw91LdMTieax5RDinxqw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=j9gasYSoTFXfN8wbh0Bf33uwzVfDQpDZQbG8MtPq9kc=; b=ETgqqFIW8K2fyxJe50bt6tkJPZ+hOeSYNQS/tUbpRHFcZtBEgE/Q/flSpaxBIYTUTgUg3sCfkOuZSFvuG8B4hFyMhg4FscKZEUztmloddnRScHupAPaXjV6vOSaW55cIJbN/5WWv9+CIdGmYTI7A68D3sClrQcHPjhqwEq86ud0= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB5205.eurprd08.prod.outlook.com (2603:10a6:20b:ee::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25; Thu, 6 May 2021 14:14:13 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133%7]) with mapi id 15.20.4108.026; Thu, 6 May 2021 14:14:13 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, armbru@redhat.com, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com Subject: [PATCH 2/5] test-blockjob-txn: don't abuse job->blk Date: Thu, 6 May 2021 17:13:54 +0300 Message-Id: <20210506141357.314257-3-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210506141357.314257-1-vsementsov@virtuozzo.com> References: <20210506141357.314257-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.236] X-ClientProxiedBy: HE1PR0501CA0037.eurprd05.prod.outlook.com (2603:10a6:3:1a::47) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (185.215.60.236) by HE1PR0501CA0037.eurprd05.prod.outlook.com (2603:10a6:3:1a::47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend Transport; Thu, 6 May 2021 14:14:12 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 10b674e1-8c8e-497c-c6ef-08d910993961 X-MS-TrafficTypeDiagnostic: AM6PR08MB5205: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:164; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 01mYbNDUsug77MPQ4WPBAi+6xt+6jMbvApKbI7rW4IC7C/wieBosqKDnjSeSJpqOvANf8V+lXM9lD0Vn5KOA3OaknUUC2OEbeANSIt2Y2Q+b2pP0/TnIE0rt6ccDsFCy8yQBLYsUdduOPqsMsBiPgDd9SWLZetf1iFMaFmU3g+eNKq7R/JGGm7+afSFdpsgvD5jjQoP4znOzMbFrfWrl7D+ASRrF8Hz6h4cQhD5HydLUDAf2D2iBkMlKcI18k90jF6eSvq4V3+sARJcRYURHMf1NVxcpnGWqQfOmak6MEtX34U1tcoW0sBD5SK10nv9issg38tfudY+ROZ/m1+SPYPWRcv8C8nbv5oVmg7MVXOERvSqDpJy5IOtQ7eeNoF2z3vkY2IF1bmQOmFjIT5lAKOSnL0TnMk69fyJuHm1NSCePSYUZLQi31c/v+6oSKt7VlhwM/HipxQgRg0evyGm5ezI04YUZ4UfE1ft9qga/Ebq9r0XMFg6ZcR4alT4wwGHOKUk1RWsYKtWY2i4verimrpNeI1Sv6pn4S0pjxDXZA+WyPqThhxmYpaTdFIiDScVX/z6zSSN8EYLadgoBfVrdMxUWOXOCATnEXmxteoQW3/MboAgM4ENu+EuAa965l8mwAc2QYKdk69mCwK4TYQXs3XOKZbt/HnXAW03Mfg0tpfkBbvInBCmf/OVFgA4G7xPA X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR08MB5494.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39840400004)(346002)(396003)(376002)(136003)(366004)(66476007)(6666004)(38350700002)(1076003)(16526019)(6512007)(66946007)(478600001)(38100700002)(2616005)(6916009)(956004)(36756003)(2906002)(186003)(4326008)(316002)(86362001)(83380400001)(8676002)(6506007)(5660300002)(8936002)(66556008)(26005)(52116002)(6486002)(69590400013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 1M5Bc8PEbOGG2sJp+ZsO2gkLacuOdcD5Ih9DKLgdMBWFm4w48mpODFzX/YzZMWt0MUkolTDvnUG48u7s2c3KSoSgs2yW3D0wRDqNvClh4kB0XU6BeeD1+ssyAY1M54wxPpHu0bQuEYmvWppaIa3RQvX6n6+lWzfy+uooQcoJf26wG2JtyphotennsCYhChCGmjKU/o4hE4o6eANqEhOCuAxoYvui/Kl08OCHeGQ/yQFhrD9WN6g9cMS/aMjuv82OQzCpNgffttMgU9NGzXG5pj5MHpICH8WV+RPqncY1tX4Or1fQWyYL840P2B1QnZ2a5bZaEY4w/t3rRPFon95ytOMDxwdqb2Dgwk9kDl5NKM0z4jRhJWhKW8ikJ75zOip6+1+HZYfHtinu3nHnJlKgTdvdBvqyhsKLdSbZFlhXLNJ+st/9Uc3D3wRC4+dRnVwyGfz+IVWFHxCKjkb817ZXljE/7kL9bOR+y2Xi3Wz/NlMxpjjoi5Q0C4Wy4SVexqwPD4GJZfjoCFsVuavdCpviSwr8zVhy3bmUcRuSUtIve/fkFMvpkWg9LgWzR2jP/GsmxBrIfNhCon3gnp5EQjfnxOUY6DnBMbbrauxSgbe7iV9ke4VWKXAqIsPZPte+eu1VqRS0MqYan6fF5gLGVFiZBh8IbbGAhSD1AuJL6mWcQiq9fT4FXfVtEoErN9diCJsdfVs1sbUF+MwWO5dn44bjAX27Yw3LqYbzZUYPJY9/4qBet+PZFuRZL01CXEhQbKljCwZAhhaCdD4REfQwvhIflU3cxBgjmcWrpskHsLGrCucRroFiu+zeNz3igilDdwo44lOh+jEIL3za70Dwc8Sml/GErb7IaH6eTM/k9YwF9TAw2NuB917jBAmb7iWYrJaA1Ed7HRqdgJhDwCnNYjHb2I2vDNjCbgozFXyufd6D9aEGELVOsxOBrTgoNV2hmdkSyGCRCZoKvTJBsf/yQ4hWDfL5UoQ+2+uZ9T8mUi4dgDAoEk2Kd6ASBLbzHDL7lrJo035hgFiLY5r2qAwyctOmVH8zu+MoycAPnSBRIuVM0jfLlBvQy3H7H4e1kIESiO9tUlulBV/YH6w8AfTVZVoAx2DAW/v8PiVzGNLj/0S/jOBn2j9W6CZEnWD0Xv6s5sM8Q61q6bv5pfUe772qR77IqesU7WuamRBcksiTUgzQ80xJtnpNHqI7R+TP7ikemrZx0EFDJ/BJssfjoLGqcZVzvjwQRh0k/B87YYTRzVk4ze0nZztduOXC/+kHkipuwh62v4e0bFhMHnOurXROBGQtc+AFsOmFwcaV8mHG4o1JFk/8f42AB+Gb8G/f72t7iQp2 X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 10b674e1-8c8e-497c-c6ef-08d910993961 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2021 14:14:12.9719 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ss3ENdzeMW0pXVmVZFSU6mJ4hclmrsVwgZVG54dQCT5Vo8aJSpAfHViqvraUmH9rhmv2DDFMojkIVcIzSZYS7SDL8tkuFGMUz8pTZ9xsmo0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5205 Received-SPF: pass client-ip=40.107.20.110; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-DB8-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Here we use job->blk to drop our own reference in job cleanup. Let's do simpler: drop our reference immediately after job creation. Signed-off-by: Vladimir Sementsov-Ogievskiy --- tests/unit/test-blockjob-txn.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/tests/unit/test-blockjob-txn.c b/tests/unit/test-blockjob-txn.c index 8bd13b9949..c69028b450 100644 --- a/tests/unit/test-blockjob-txn.c +++ b/tests/unit/test-blockjob-txn.c @@ -25,14 +25,6 @@ typedef struct { int *result; } TestBlockJob; -static void test_block_job_clean(Job *job) -{ - BlockJob *bjob = container_of(job, BlockJob, job); - BlockDriverState *bs = blk_bs(bjob->blk); - - bdrv_unref(bs); -} - static int coroutine_fn test_block_job_run(Job *job, Error **errp) { TestBlockJob *s = container_of(job, TestBlockJob, common.job); @@ -73,7 +65,6 @@ static const BlockJobDriver test_block_job_driver = { .free = block_job_free, .user_resume = block_job_user_resume, .run = test_block_job_run, - .clean = test_block_job_clean, }, }; @@ -105,6 +96,7 @@ static BlockJob *test_block_job_start(unsigned int iterations, s = block_job_create(job_id, &test_block_job_driver, txn, bs, 0, BLK_PERM_ALL, 0, JOB_DEFAULT, test_block_job_cb, data, &error_abort); + bdrv_unref(bs); /* referenced by job now */ s->iterations = iterations; s->use_timer = use_timer; s->rc = rc; From patchwork Thu May 6 14:13:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12242217 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5EE59C433B4 for ; Thu, 6 May 2021 14:18:10 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D63736113E for ; Thu, 6 May 2021 14:18:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D63736113E Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:44566 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1leepM-0007YF-SR for qemu-devel@archiver.kernel.org; Thu, 06 May 2021 10:18:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39976) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1leelr-0003bC-Io; Thu, 06 May 2021 10:14:31 -0400 Received: from mail-db8eur05on2110.outbound.protection.outlook.com ([40.107.20.110]:13665 helo=EUR05-DB8-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1leelp-0004Fk-Ln; Thu, 06 May 2021 10:14:31 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X1dvq5MgRwTNwzGopAOCIpWARgZKF6rnXD2yODsn1W5Otko9zjgW+018NKUDMVrs4mHauP3KrUocCXQyVxzlUtQFMeX9X04e60k9+5CsTH1l6wn2iO8OD/nKZ0fKJGi4wzvIiD0MuFtqaBeB16S7tavJWgUd0vVxV4Jn8GMzJVFqWwnUURYCOEvZ/ufZIDS6O/uArXi4KZlEdx4NxL66DGFhuQl6VPcJqVz1Axukk0s9e4HV0uFOkNcd3Rj1P6CAHVby+sF4PWCK6HVeCNRpVxkkfe4B/RcBaCI0m+5CrH3CueiKJ4SPFj2nv3c3bxlxQmNKx9wE5lKGPUZ/AhUxdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Bo3g7xaHM9CD8H9r/pGIn/ykJvgAQrNGaTFt+QISPo4=; b=ms/B26oXzdyZYNqG+jLMaBPonRLetYQoWZDcjeu4eJUgmXodX77Dvkr7pL94GZGK+B/jRB5RtCt9kS2PL2QlOFzktlX8wd2DrMBIlzEzeIHt3pPOhou0aOg/9ktqbYZO0FQOr9NsXLiLZLAug5aQC8XbvZw8W8NDhCYBvoUaX5vLIPXsau6Z4tX3/FBDPMpc9TpNe8EJjgZwXV5zTU19LyxEC9chgmQUfPoZ3MsuMpcnRWTKix0pYV+RJJv9uCYlUdtC1f+I69S2vYCozwIlxHxERGTNg2sRx4ygpXKGOzWT27lJp7w+4EvyPa9e2uYec0RgpvszQfi+HUx0WHrR/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Bo3g7xaHM9CD8H9r/pGIn/ykJvgAQrNGaTFt+QISPo4=; b=DKyuiaQx6EOb3+tp0nafpAbJr5FM3LMB1yIqf1wVXxDhan66+Q79XgOL94pd7LsHHy1cjQYLlAfWkupGmDoJYWlACLxvolCG68gAAtcq37IWE2ixLB2fn9TgV+JzE+pUlHhp6JkJQzdBOirbuSYt3NiJElRGvrldA4pCKQELsIs= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB5205.eurprd08.prod.outlook.com (2603:10a6:20b:ee::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25; Thu, 6 May 2021 14:14:14 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133%7]) with mapi id 15.20.4108.026; Thu, 6 May 2021 14:14:14 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, armbru@redhat.com, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com Subject: [PATCH 3/5] block/stream: add own blk Date: Thu, 6 May 2021 17:13:55 +0300 Message-Id: <20210506141357.314257-4-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210506141357.314257-1-vsementsov@virtuozzo.com> References: <20210506141357.314257-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.236] X-ClientProxiedBy: HE1PR0501CA0037.eurprd05.prod.outlook.com (2603:10a6:3:1a::47) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (185.215.60.236) by HE1PR0501CA0037.eurprd05.prod.outlook.com (2603:10a6:3:1a::47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend Transport; Thu, 6 May 2021 14:14:13 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0060f0b9-f8b6-4992-7f07-08d9109939fd X-MS-TrafficTypeDiagnostic: AM6PR08MB5205: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1303; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: baDzb9CEQ2XrNJXDXjljoePOKoT+8NuhsGbo+rHCLkxfBO1sXK6/WNydNECLWVtpNonq6UhJKq5p8Heqf92l/sSf/Az9KCTwBgAYw+9X9d99D9bn3mnzQuCCVjFCL6aYsYS592X5Y9NaygM4o1BGUhGql0VNiaObrukyS+6W6XeoQSo/zCTltDDvzp2eRTPq7Uc5wovPAeboJRi0W97DbMO1vJSGxt2sAhEjOvSLTyIpMDgKV9HJLeatq2Jiybr7lnO/MXxt6c+t0v5vSxnkpIf99+hkyHcokn/67k82jFwzXcIsfJMZPGiTVFPCmx9W/ESxw8rRgQk9i/IEjdXG/iZpjqiSefSOaJ+OGmUxO7TmvVc1EA9HAiTnYg8WlPXTBW9ft2RO7b8qTYlqeABOQdWoTL9+/57wWckdQzHtb6sxvw1nI0rldUiCIxYpHGqgb6u3amKdycdP0WRnT9wlu+Cci/J+2hCemOtHeLqy/mUd2YcLraW/qmige8CNw+UJ7r9mzOX1K3TAMNDOt6k9JFEOxRFffJlvoVUy6K/EfbLmIqYYHQInvI1wOHgsjm7tfWICYGeQDJLZU9BwoK698hfGZkGTnPoITcQQBqsbNl4gS92Tet1iHazbNBDl1EVYuotb+/Z63y/P+IZxTg379U50C3tsIroRmQ02X3uOsojwVU+cLhbbNDyjCkpoQnFk X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR08MB5494.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39840400004)(346002)(396003)(376002)(136003)(366004)(66476007)(6666004)(38350700002)(1076003)(16526019)(6512007)(66946007)(478600001)(38100700002)(2616005)(6916009)(956004)(36756003)(2906002)(186003)(4326008)(316002)(86362001)(83380400001)(8676002)(6506007)(5660300002)(8936002)(66556008)(26005)(52116002)(6486002)(69590400013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: d/WPUjiwhZtQd/c8pLPjNM7wqq7wYu90crPtTIv7iCn9vHWsofiR7P/XXWPz7d9g+G2amU1qWs3sE4i3Qpf+Btb1f9/PGNr+u7G2ACoslfrERkf7Cv7Wx16SwLH7ruJTZune4UuZVOaZdvT8gmf54q+pXB3pTwCwWcJRwtIRi1hOQqdzByRr99K4F7mw1Ftvm9pwCb1I1SiGuzg43KOqmAii7uUYlIOIwAamQ7HpKkjzK1OO/+jcjdxeGcx+A5YqkTKW4iBroaT6Uroph/5Pt4AgIryRT5Tq2a+9AqB4mTTtzap7OxEKWaDqi0Ku6lyGXBxwgR9YPtDnZXNqGISwkRAl4KhI5aY6PBI4La8sEIGnbY2lMZjv+dcR9sumC+FlMUckmL+h5HAnUIJhD+MOdxedOg3MjnK1/w4//xp7RTD7qGxhUWwH4iGQiJo5wZdcvKlEOhlBbXpmP9yBVnY1Vf6AAj38b+7E7MUJLdzTCSuNVySPqsMvn7AdD4xP8n/iFQCSjS6hmll3CT8MGNR8uVnj5G9UCBpKMdj5a5jRe+4pVtc6EMdxaJtf11CYc9S9XCFqNKWFG+w6vIXrR14R6F5nazbGmrVPy+DMP5XISKWu8rA5BNsZSOP0FC/oBvJNmW8l1M42yvpqgcPzyeQM7qodnPiMIDGpLT2n3XrFoeRp2DfDd+SpvhuhrY+tc1kSGh+gMjCjV7zfm2b8Z5ePkGGgEu8wIGbRNGBAmjp2QzCDsCinyaEZtltPc96tSQ33w20GHmAeEKwHpB5gAqg9r7NMWestPzOkqyycO5iM5YelDsivDqWsY43eVxhisOO82CorKT+X4RIu9SUzXh5xNAA9XnKHk3hevxTmSJrrlTJ1JV+Z9zI+WwqiNAv+hU/YXXtGh6HDSEEOuhNkisNER1I8ByDruTgeutfeAL470e46Lkg3gzSfTT/U60PruUJgLifodx8qyTo9bigbTzspnHFz2KvYKu99dDOhShZt8FLf/aRX0A35KxxfgcVRai6/i4DzwnSqprlhYVq4OwzYtl9brBzzt+C36oZEcUecJLWepkN0mJ3oSvqg3YSlE3q4FhUL6gS4cPzbou36LNEOXBc+2w+Yv9W2DD6iE32pdfj4imQzlpf2Z0+jrnwCvCb4rLCaLWli8o5uPVx8m8qa9IMuBruewIg2mze/ghaVmd0gLl9oWB+m9hWnlC8nk7GLuPfyOfnSWImDuI8lWnaiSqBj9tuI1ac97tMhCT+DZ9N23yawUG7RNNoh4HVtUHkBOfxojJJvxkvcAVAC2BOOMJvxIJTszkLmhuAQloHZS9iqAnru13od4XLwTC59s4xE X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0060f0b9-f8b6-4992-7f07-08d9109939fd X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2021 14:14:14.0313 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: pnzNnUXtWuDZlSd+h/qePpdeKwP2WEw3FUT15rq+qFLRY8S62HYTn+IWs4rw693WoSOJ4Do41N5wi/LEfN3Jgt2b1LokTtqj1B1kcZRWPKE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5205 Received-SPF: pass client-ip=40.107.20.110; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-DB8-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" block-stream is the only block-job, that reasonably use BlockJob.blk. We are going to drop BlockJob.blk soon. So, let block-stream have own blk. Signed-off-by: Vladimir Sementsov-Ogievskiy --- block/stream.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/block/stream.c b/block/stream.c index 97bee482dc..01a8afc48c 100644 --- a/block/stream.c +++ b/block/stream.c @@ -33,6 +33,7 @@ enum { typedef struct StreamBlockJob { BlockJob common; + BlockBackend *blk; BlockDriverState *base_overlay; /* COW overlay (stream from this) */ BlockDriverState *above_base; /* Node directly above the base */ BlockDriverState *cor_filter_bs; @@ -85,17 +86,18 @@ static int stream_prepare(Job *job) static void stream_clean(Job *job) { StreamBlockJob *s = container_of(job, StreamBlockJob, common.job); - BlockJob *bjob = &s->common; if (s->cor_filter_bs) { bdrv_cor_filter_drop(s->cor_filter_bs); s->cor_filter_bs = NULL; } + blk_unref(s->blk); + s->blk = NULL; + /* Reopen the image back in read-only mode if necessary */ if (s->bs_read_only) { /* Give up write permissions before making it read-only */ - blk_set_perm(bjob->blk, 0, BLK_PERM_ALL, &error_abort); bdrv_reopen_set_read_only(s->target_bs, true, NULL); } @@ -105,7 +107,6 @@ static void stream_clean(Job *job) static int coroutine_fn stream_run(Job *job, Error **errp) { StreamBlockJob *s = container_of(job, StreamBlockJob, common.job); - BlockBackend *blk = s->common.blk; BlockDriverState *unfiltered_bs = bdrv_skip_filters(s->target_bs); int64_t len; int64_t offset = 0; @@ -156,7 +157,7 @@ static int coroutine_fn stream_run(Job *job, Error **errp) } trace_stream_one_iteration(s, offset, n, ret); if (copy) { - ret = stream_populate(blk, offset, n); + ret = stream_populate(s->blk, offset, n); } if (ret < 0) { BlockErrorAction action = @@ -291,13 +292,24 @@ void stream_start(const char *job_id, BlockDriverState *bs, } s = block_job_create(job_id, &stream_job_driver, NULL, cor_filter_bs, - BLK_PERM_CONSISTENT_READ, - basic_flags | BLK_PERM_WRITE, + 0, BLK_PERM_ALL, speed, creation_flags, NULL, NULL, errp); if (!s) { goto fail; } + s->blk = blk_new_with_bs(cor_filter_bs, BLK_PERM_CONSISTENT_READ, + basic_flags | BLK_PERM_WRITE, errp); + if (!s->blk) { + goto fail; + } + /* + * Disable request queuing in the BlockBackend to avoid deadlocks on drain: + * The job reports that it's busy until it reaches a pause point. + */ + blk_set_disable_request_queuing(s->blk, true); + blk_set_allow_aio_context_change(s->blk, true); + /* * Prevent concurrent jobs trying to modify the graph structure here, we * already have our own plans. Also don't allow resize as the image size is From patchwork Thu May 6 14:13:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12242213 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id ADDAEC433ED for ; Thu, 6 May 2021 14:17:00 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1426F61029 for ; Thu, 6 May 2021 14:17:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1426F61029 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:39788 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1leeoF-0005Z1-12 for qemu-devel@archiver.kernel.org; Thu, 06 May 2021 10:16:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39872) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1leelk-0003MG-NG; Thu, 06 May 2021 10:14:24 -0400 Received: from mail-eopbgr80132.outbound.protection.outlook.com ([40.107.8.132]:28385 helo=EUR04-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1leele-0004JH-AF; Thu, 06 May 2021 10:14:24 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DOtOUdmTHwkvFnZ1xCBb4E3R6v6u9855pamSC4O4Iezvm7KmXfHgYlY/7rAQ9eayXc2UOp5wVzqiuoO580Abtt6TEAsHmPoGQC+SacZ7hssGrSSu8mEUGn+dyWImjoShAqr/1hGoEM5wnaa+yNpd2SyeO3Yevqjlr5kJbmd8JcK2eys/2u/ckTahzCKZFFzYGaou771bsb3zWfIvX6mvmnY7muNAC5GVH+YwZMN79vm8loKZaNVS184hgD3W7gcTHMa7kbX3dNQQY343y0abXz0G8ZocorA8vdlWkaJKY21mnm2nNiR1/GcsgrrDvfDdcSnZ+uh00O0xbiVACVzTMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qNw5siKG9gLgnJIgYfTYIrmAfaN6NJxFBqE/IfISWNY=; b=Y8RePl/HV02D2009soh0xPbYlE/cYoZnzMjAp8yZw8dyBgKtZqnxuP/6ptc0jJhm/axKLALvJNJfGWXPpf1EVl4sD8LE/StAhPSOW6AcXXI9A63MXxA1FR2qroY9KP0UOwsyq7KLMIJTkiF0skIr7BBCar+kzh7tcLahaXM0HMngOjlCt0vR0FxEQpHDHpqF5+uWei/L0j8lH3nKsvhAnPXHEQvmpYBNvrtbILwK5kpotlKES4b/ilSaeUkaSpRNE2m5HCs1TqUmNE/jbqdJus+/B5o1J6cA+3lEzqomRUA1/ZQ1gnHhOqhR+TvZRZ4Pq0d3rdjambxYXQlwULDSvg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qNw5siKG9gLgnJIgYfTYIrmAfaN6NJxFBqE/IfISWNY=; b=XxMqDcfM6yxsHIS4WzoYjUXUiRTci5PpcJFXHCcnNkVv5Py26lJWemQNvfyOEy1id+vjyBX0HnGAW3f3RUtn2VKwvFoV6Jzu8p+rFm8jDjwkfcp1kpgnuKkopnRlkpNgATNHbiIyuRAJxFrzv9aAb0P7wRE7whgDEwUUnUpIvgQ= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AS8PR08MB6309.eurprd08.prod.outlook.com (2603:10a6:20b:29f::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.24; Thu, 6 May 2021 14:14:15 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133%7]) with mapi id 15.20.4108.026; Thu, 6 May 2021 14:14:15 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, armbru@redhat.com, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com Subject: [PATCH 4/5] test-bdrv-drain: don't use BlockJob.blk Date: Thu, 6 May 2021 17:13:56 +0300 Message-Id: <20210506141357.314257-5-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210506141357.314257-1-vsementsov@virtuozzo.com> References: <20210506141357.314257-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.236] X-ClientProxiedBy: HE1PR0501CA0037.eurprd05.prod.outlook.com (2603:10a6:3:1a::47) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (185.215.60.236) by HE1PR0501CA0037.eurprd05.prod.outlook.com (2603:10a6:3:1a::47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend Transport; Thu, 6 May 2021 14:14:14 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0f5332b3-1f55-4285-84ec-08d910993a99 X-MS-TrafficTypeDiagnostic: AS8PR08MB6309: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:20; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vFzEambUxgyKUn5I2yLOutuRG3M9d/fzsCnKfkrDTNgX7LqzyoSDpfDjHuhTAegeIp52QffLhhTPMvXYLgvM5xvq/qD3TRL0H9voXB4+UycvfWf5vX/n7E4gqjHgMrPoUkXoKRImU8JmY4jcMl/tHg7t2UriZIEEaaPKGw7P2x0G8Ex19UPOTMCyfyTm8r0Are7BD8NbNj0kZ+A1K0NJHcBvVsQI5clY6GVdB/dyKDwQXm/eXSw/Cgkds+5eIHwZZNEEnGPjGbJWJCK4O0QFpWBodTy2Yn3Ef5N4wWr5SQPvXK2lfLf7TZ3x3sJUGh01+kZWEHi/fjOWPp1CAhflI1dyVMCTFtkCkKR/87B7KxDhXZvOmt6lx7iHKoq/4mZpMRNONtfg+nr1l47t/e5oIpMyiCaBCoSwxaLBUFwrqVxXhgV9dU3jGIW63BUvMPrhQrVid+5oq6H1a9EmjeobRKQJZtWYERqQVItfcIA36rbwkGpoqQgAnnAAyRiSJYWuE1S1vCoYu0a360JxiT8dz18EJZSQIdPQliTd1RBsWQevJAyNi/mHr79CVSq2MFJQRNglhw9J95DAcnyXM9wZTtNOTxg4bYW0KKPHOBgwYrOTjhqDhKp+2e0gI9jx/XNg7stZ7WBl0EEltl4zBc9p0Rxn/ZcSV1868KZhwwouZaWcIkSZm9iOtg/1Y1tVDI8a X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR08MB5494.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(39840400004)(396003)(136003)(346002)(366004)(86362001)(6666004)(8936002)(66946007)(5660300002)(8676002)(83380400001)(1076003)(66556008)(6506007)(26005)(2906002)(186003)(66476007)(16526019)(478600001)(36756003)(2616005)(6486002)(316002)(6512007)(52116002)(38100700002)(38350700002)(4326008)(956004)(6916009)(69590400013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 4PDtWbJoo3SCaNaCsUJpvaaB9jT9mP0CVUOHn+21mmePWdEzbiSZq/3Qr+em2eny7C2czslZ7myLW65siWtP6pKFDeJQO0SCDPz5SB5gntbYoIm1i+oS+V9/1JDYmsCiWzLULCdFWp5UY6YBnfRCbS4zOGqsyt5FafcbYO5NyCdEnHd4hNtdKJGEUddjlzFW4jeEyuO8tefdvgKp2R+Q6dbR2uapIOhMohmnI6X5Zku1Lani+m7PUoseq2Ez2E/Oo1dpHr9lkbnxhnFytsdRDl+6NjYl88aezpj30jYf3Qi+094Qsrcnb+2d02dia2MyuM/hvRBM4Op5KQErmr3LqTUM/rnemn5fVbnsayAgoQVALPwgzNIKQrYwezJ2aeyqRgm6JA7sly+sGRuVzPMg+eIEUicvDqdK+7yoqqFmoEigS66Z+4/0Sbp5N0jMjewgp7/UitNbdLctYCDHBWh0nMTrHeW/tqZPGMmdD3vuFUlzykGXtgBkq8xgKwfAU2pnO/yd06zdpd9mcfBcOeC+pTlWapHgPq6E0F0mkqI1366UEsWNxvholIFwS7JNjsS1+ljURwHzKwExU4evJ6UXNGYKzp0QowyqUYcBZQ03K8Wj3XyIbZV/Pb2lb2sPc1x0HGhBt84Rd+rVRHnveH/8CIAUULmKQioWcH+SBzmHyyUxLWaR5nFs9v3MvOlEV/X7fGpTpbevBWi8rR/qMY5XwKFdkoXGAOdvFAmo6NA6UYMYo3yX1CcwbOZj43bWhxQEudKZnJPctZFT91XXC9EJRfznix8ll4ZaFqK6HH3eWuK6oi6/b80UOcDQKL5QRf5dTQXiTuqSWB4+49Fhk0MFxuJgs+kL8FNdcginoov4dUO3SWuC96dNmBm7NRdixruPw0AWzbPAhQgzClHGkATU5nPcGLkqzFRUEANMZ+2KVR1gdc7tUZfRm2f/jB3krpzpbp0TBXAqJZ0TAZn5XCW/W8mGJOLVkXZvpmDCmxLk84yOlWmUNmtvvoU2NWpY/Mu9csPZmI46vbnJAQ0C6QrNZhEpsLm279vhaQDJsbm2kvD7reKIy3K2t95P7GEQXLr8V0dsp6lROR0jhrFN1Vthh9lN0ylXTApJFkBTL/k3Ve5sj0bLZIlNxigaj1sGTNSCvGGwBu5Rs+GOof7xh22e+Z6w/BPPLcHQbYPU8lQ3KFGD88ABUBxoDLLoFdjQQuPMpUU/vTRcdY21NKOINMVQQyjNhpXkdo0wuZvezKuCv1khR/IDvDkFD/DfuGR3fxGAvDlJzerMJSw5XlomyH22qkvSaKsy7VBQyo/9jWxcSVEXxxmn9sDQ65Lm8RgAh7Ng X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0f5332b3-1f55-4285-84ec-08d910993a99 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2021 14:14:15.0170 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: oiwMSj2uqp7O6T9Yy9AeZ5nA2KevAtLuBisJe3AnoHccCtxgBacw8iSv9MHqsp3JXQimwvi2UZtoXQYvtPNTv4SsCJBDj73/UkAcDPphQAo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6309 Received-SPF: pass client-ip=40.107.8.132; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-VI1-obe.outbound.protection.outlook.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" We are going to drop BlockJob.blk in further commit. For tests it's enough to simply pass bs pointer. Signed-off-by: Vladimir Sementsov-Ogievskiy --- tests/unit/test-bdrv-drain.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/unit/test-bdrv-drain.c b/tests/unit/test-bdrv-drain.c index 892f7f47d8..d7b155d13a 100644 --- a/tests/unit/test-bdrv-drain.c +++ b/tests/unit/test-bdrv-drain.c @@ -770,6 +770,7 @@ static void test_iothread_drain_subtree(void) typedef struct TestBlockJob { BlockJob common; + BlockDriverState *bs; int run_ret; int prepare_ret; bool running; @@ -781,7 +782,7 @@ static int test_job_prepare(Job *job) TestBlockJob *s = container_of(job, TestBlockJob, common.job); /* Provoke an AIO_WAIT_WHILE() call to verify there is no deadlock */ - blk_flush(s->common.blk); + bdrv_flush(s->bs); return s->prepare_ret; } @@ -790,7 +791,7 @@ static void test_job_commit(Job *job) TestBlockJob *s = container_of(job, TestBlockJob, common.job); /* Provoke an AIO_WAIT_WHILE() call to verify there is no deadlock */ - blk_flush(s->common.blk); + bdrv_flush(s->bs); } static void test_job_abort(Job *job) @@ -798,7 +799,7 @@ static void test_job_abort(Job *job) TestBlockJob *s = container_of(job, TestBlockJob, common.job); /* Provoke an AIO_WAIT_WHILE() call to verify there is no deadlock */ - blk_flush(s->common.blk); + bdrv_flush(s->bs); } static int coroutine_fn test_job_run(Job *job, Error **errp) @@ -913,6 +914,7 @@ static void test_blockjob_common_drain_node(enum drain_type drain_type, tjob = block_job_create("job0", &test_job_driver, NULL, src, 0, BLK_PERM_ALL, 0, 0, NULL, NULL, &error_abort); + tjob->bs = src; job = &tjob->common; block_job_add_bdrv(job, "target", target, 0, BLK_PERM_ALL, &error_abort); @@ -1535,6 +1537,7 @@ typedef struct TestDropBackingBlockJob { bool should_complete; bool *did_complete; BlockDriverState *detach_also; + BlockDriverState *bs; } TestDropBackingBlockJob; static int coroutine_fn test_drop_backing_job_run(Job *job, Error **errp) @@ -1554,7 +1557,7 @@ static void test_drop_backing_job_commit(Job *job) TestDropBackingBlockJob *s = container_of(job, TestDropBackingBlockJob, common.job); - bdrv_set_backing_hd(blk_bs(s->common.blk), NULL, &error_abort); + bdrv_set_backing_hd(s->bs, NULL, &error_abort); bdrv_set_backing_hd(s->detach_also, NULL, &error_abort); *s->did_complete = true; @@ -1654,6 +1657,7 @@ static void test_blockjob_commit_by_drained_end(void) job = block_job_create("job", &test_drop_backing_job_driver, NULL, bs_parents[2], 0, BLK_PERM_ALL, 0, 0, NULL, NULL, &error_abort); + job->bs = bs_parents[2]; job->detach_also = bs_parents[0]; job->did_complete = &job_has_completed; From patchwork Thu May 6 14:13:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12242219 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C0F3BC433B4 for ; Thu, 6 May 2021 14:18:53 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2493161075 for ; Thu, 6 May 2021 14:18:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2493161075 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:47806 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1leeq4-0000Q5-8V for qemu-devel@archiver.kernel.org; Thu, 06 May 2021 10:18:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39936) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1leelo-0003Sl-D4; Thu, 06 May 2021 10:14:28 -0400 Received: from mail-eopbgr80132.outbound.protection.outlook.com ([40.107.8.132]:28385 helo=EUR04-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1leell-0004JH-Ng; Thu, 06 May 2021 10:14:28 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mB+6nxmKOHzNAiIiJ5GGfNkTXwL6yXEohC6hVDAc+j7e9dT26Q/k2NypaSm6nkyM8wFXmuvLqdZtiQim0NjriqgcJbBUana8mJbfxfjXh5JW6Os5RwUI8WHN1k/bVaZptqXMTmFYfwnShkp2zXMdna7O/LusTdv9WgDFpCNtdoqCp0H++H17oL78N6pav2NBD8YbVV/h7ezt1fX5584jj4uGoBl1k5GeTyLVihTJqK9+bxsudH9+DTTHIB/IWYy//u+8hEHRiUtN/XLe1UBQ6yHPeS0H7SquJWiUcIgz5BYBwooTJafzLYVgyJbwkpv4avsgvfZlali3O4ZCyCaWMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=diasP0cqw9PnY9U5w9vl4Z2pcKGOZIcgSWcqWt6aAjQ=; b=Sj/K0Y5XjbPtMm5iTjN7ZRiwKvfb8nhBBZyb5E2cix1t8EEZpiuwgSvlCR8yD1Gt3vNi/5As+WWjInsZQ55uyofTtvyEBh4PTGfNC0wFsmPzLo0UsCGe7QgxIddkwL94ccGK7t1BQZIRpUaStpIYu/lUiwt6G/2S9cXNCkQGqXnNGu11eVVe9O2vh01/ovjsjmr4nHloTK9rLlWHUgJ3uzOznARn0ug7U//2IUMnFh+fAOM0jcGq2VQvw/M34TOD2GoXBI9UM2klYVHr6QvIYYQHYIHCdyui7F9GNslXeWBjIXvrzQtoPZ9jlg7bmN58G/qil0HMPnaEYhGRnipxeg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=diasP0cqw9PnY9U5w9vl4Z2pcKGOZIcgSWcqWt6aAjQ=; b=Vgt+zpNBIMCSOWFpU6t01Ore2sMlZPNDDS1pJHR0LKWLHvdS7FtRWQNKc3y03E75C2Yi/79VnbiQbzWK3Ol02k4aHQnqlDvDQN798eCqgqsPQWZt6RMXnT29wFeizI11ME8Z7nGNoL0yawlFbgiLaeThYTosF8nh0Qp4eaqG6e0= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AS8PR08MB6309.eurprd08.prod.outlook.com (2603:10a6:20b:29f::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.24; Thu, 6 May 2021 14:14:16 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133%7]) with mapi id 15.20.4108.026; Thu, 6 May 2021 14:14:16 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, armbru@redhat.com, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com Subject: [PATCH 5/5] blockjob: drop BlockJob.blk field Date: Thu, 6 May 2021 17:13:57 +0300 Message-Id: <20210506141357.314257-6-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210506141357.314257-1-vsementsov@virtuozzo.com> References: <20210506141357.314257-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.236] X-ClientProxiedBy: HE1PR0501CA0037.eurprd05.prod.outlook.com (2603:10a6:3:1a::47) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (185.215.60.236) by HE1PR0501CA0037.eurprd05.prod.outlook.com (2603:10a6:3:1a::47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend Transport; Thu, 6 May 2021 14:14:15 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 25cc625f-2868-4b62-6a49-08d910993b33 X-MS-TrafficTypeDiagnostic: AS8PR08MB6309: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4714; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: c20SrNeH68255x8yrC/uEuR3LIoNgeinty6uhz2LCbZ5QiRH98jC30ILYHwb2aEt/l3VPrR2tjPetRBjG2dIejrNF9CVPoWjaZik/ljdPYwAA1SZwiifrXuyzNNb0JdZB72xyh7yXQQsIMooM6iYJwTJef+tYbQNRWC6+ztjJUr9WIWEmmwvgUzDuJHwNOdXDB0o1Rs6ropPoeL/7Zx4u0KsRr6LXOw+/E0rm+WyKH29Nrly3kaGU9j9US95fS+UBRpR7stVDVMIfn/kIkEFfD11+yNxby9W6+FOjb4gLxw77TaEfFzJgc8Tcpwt+ontBjm9UTNrw9mkIkfbKv5y6AmpitADFncCEE4AiSWoKCYFdnJKurQE/wk/GdZKM1wik2NCVvLbIWGFdF66J280tqans1t3YIocLz5vKvVWATyLgFAeQ+F1ERGaf7iU4rbvD/lDECjsGLmap7wDGnnyzqIVLA9Zh+SDoihX7Uk3+ZXzrK01ROxPBVNGleUvX16ao82UmySQqOu1n88IiBJHDJiVLFRNCDEseHBLQG7Y78o2yo7YCRvKFGw8PWi13E/cGQaL7hbZLYUkNFQM+OlSNMZ4oqatb2fiCWIbFgLtPaDwN4nEVqEErcbW0udoofJklO1Ne0YCw+nsIeqc5VE7GcyNQ5NsSVjqKFDmao9l3HgvTTXUr5prjOIcUV7iDEi1 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR08MB5494.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(39840400004)(396003)(136003)(346002)(366004)(86362001)(6666004)(8936002)(66946007)(5660300002)(8676002)(83380400001)(1076003)(66556008)(6506007)(26005)(2906002)(186003)(66476007)(16526019)(478600001)(36756003)(2616005)(6486002)(316002)(6512007)(52116002)(38100700002)(38350700002)(4326008)(956004)(6916009)(69590400013); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 0nTDoqPVzzOvR0o3dccCNZGIBKdLpcvugkxYjjH4CjK6cntNWwLMcYRhT1dXwlAlajAjVTMsJj9bUXeI/V070OM7beqAY8wyDflSlD8DH3iP2O3ui7u0vLycOy/ShJb90IShjDlWL0pKZ9Y16MZUWEKq5Yuc4WKf3PzdhD4k2kPsS+7LxnsiNIuBsW9N1O4TNAuFozvaC07B1ptJRnuCDovMRWliVvCDn3SuPV7PTbM122MmD1shoaNgniYhf61O9u2FB7gRpMOvgnPm2lJPdwtTh8VdsKp0ZNPdft/P142B+adOEtuUXhdYVlNQMusk8G5dNitJgP4iDG1Y0xHz/lYgYCGQmlRdgAryF4tDSLU02ADAfXqK9vUKUgwsDPcdIJOtN7AT6Ct/k8qA8ZiGByonZZzaOkOdBKrMjxoiqG/XhCU15jyKclTr9Y4Br06jYQ72IzQcZph/0K5TXMZZcwcPpIzsm4ZXmNd53WMe03IgELoQBbt6604K98VJKFSy0k3pc3DJ9fMaZiXu/NmQKfa2wWDPxUsP/5pLTYfPZLth4Y7gnGzvMIxQpzHWcBrVyvZ6X3Czk9uAlHYhmmP1153Zz/Lf+ewB/DClznSPA/NBkb6Jrc6Owk77YVSGI2Adb/VmqBCeHitqk6Fbo4M2wNZduos//5Rr2jqhiUD8zEwnkwfST4Tryw0gerrvkke11gQSwPnxPF8uKw8Jcy1dt6qw167dD8n6IqaqxOlN7Z6JoIwERjPEcDNvOOEh33383T09ufq6jIFJkHJ+fLxbD24QYUOQtFm6s2UqI56AyHZHMWenzk+iYGqxAo3tb8RY8G8VuziQrAqn/QZr2FNH6U/OY8+auidiIhfZelHy9Isib6W5eYDXBhRKC46xgPXtDcaO+IwOBqu16UusH23GvJl9OYy+rGwcVjnEnBcbfl5/guGb0mHJyH7dv32pUsYn0vvdbDm164IAFuwBCMgE5R8+JL3tAnwQ4UYYogtphqhk8PJ1HcrMx5LFthMmgbsve/IPVJwdZZgDRmTNMri9tn1aD1Rxq6LSOsoOLjzvLpgG9F9jrQte+Q8hA+hjJ7Ynff/lwEUuxNprkqJt4W9VUbT/etWZ6uy5JGCnHLiuPnZDDpw1/DHWlSOehb01wS2oukYbSYuLl1v+q5T0qJsnlgz3F8zsqtMfIZ0cWwHPEpULNYKT2SsqRZOx7IE1TzrQjvp++3tDoGpJ26Uu7pLzH+aASRfV+IYzHk/A/OU43xcWDtBqRQxZDCS0ehuKUNSE98FPff3HkPmbLsX5DDawAf1v1Wg5iOiQBM9q6/Dxk5yX5zs11ZMTZN6zC0795b0k X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 25cc625f-2868-4b62-6a49-08d910993b33 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2021 14:14:16.0474 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: UdQATbcOIqMFw4zeMNiTGfK1b2KxSgrhXsH1r49yi6sQK5QmWb3d7D9yljqAxZnHIjq9CG97fAeT95c66uEonZwGnmrLcsiKfay/5wF+9J8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6309 Received-SPF: pass client-ip=40.107.8.132; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-VI1-obe.outbound.protection.outlook.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" It's unused now (except for permission handling)[*]. The only reasonable user of it was block-stream job, recently updated to use own blk. And other block jobs prefer to use own source node related objects. So, the arguments of dropping the field are: - block jobs prefer not to use it - block jobs usually has more then one node to operate on, and better to operate symmetrically (for example has both source and target blk's in specific block-job state structure) *: BlockJob.blk is used to keep some permissions. We simply move permissions to block-job child created in block_job_create() together with blk. In mirror, we just should not care anymore about restoring state of blk. Most probably this code could be dropped long ago, after dropping bs->job pointer. Now it finally goes away together with BlockJob.blk itself. iotest 141 output is updated, as "bdrv_has_blk(bs)" check in qmp_blockdev_del() doesn't fail (we don't have blk now). Still, new error message looks even better. Signed-off-by: Vladimir Sementsov-Ogievskiy --- include/block/blockjob.h | 3 --- block/mirror.c | 7 ------- blockjob.c | 19 ++----------------- tests/qemu-iotests/141.out | 2 +- 4 files changed, 3 insertions(+), 28 deletions(-) diff --git a/include/block/blockjob.h b/include/block/blockjob.h index 3b84805140..87fbb3985f 100644 --- a/include/block/blockjob.h +++ b/include/block/blockjob.h @@ -43,9 +43,6 @@ typedef struct BlockJob { /** Data belonging to the generic Job infrastructure */ Job job; - /** The block device on which the job is operating. */ - BlockBackend *blk; - /** Status that is published by the query-block-jobs QMP API */ BlockDeviceIoStatus iostatus; diff --git a/block/mirror.c b/block/mirror.c index 840b8e8c15..cbebcf8798 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -754,13 +754,6 @@ static int mirror_exit_common(Job *job) block_job_remove_all_bdrv(bjob); bdrv_replace_node(mirror_top_bs, mirror_top_bs->backing->bs, &error_abort); - /* We just changed the BDS the job BB refers to (with either or both of the - * bdrv_replace_node() calls), so switch the BB back so the cleanup does - * the right thing. We don't need any permissions any more now. */ - blk_remove_bs(bjob->blk); - blk_set_perm(bjob->blk, 0, BLK_PERM_ALL, &error_abort); - blk_insert_bs(bjob->blk, mirror_top_bs, &error_abort); - bs_opaque->job = NULL; bdrv_drained_end(src); diff --git a/blockjob.c b/blockjob.c index 2c168b93b0..70f3220ffd 100644 --- a/blockjob.c +++ b/blockjob.c @@ -86,7 +86,6 @@ void block_job_free(Job *job) BlockJob *bjob = container_of(job, BlockJob, job); block_job_remove_all_bdrv(bjob); - blk_unref(bjob->blk); error_free(bjob->blocker); } @@ -419,22 +418,15 @@ void *block_job_create(const char *job_id, const BlockJobDriver *driver, uint64_t shared_perm, int64_t speed, int flags, BlockCompletionFunc *cb, void *opaque, Error **errp) { - BlockBackend *blk; BlockJob *job; if (job_id == NULL && !(flags & JOB_INTERNAL)) { job_id = bdrv_get_device_name(bs); } - blk = blk_new_with_bs(bs, perm, shared_perm, errp); - if (!blk) { - return NULL; - } - - job = job_create(job_id, &driver->job_driver, txn, blk_get_aio_context(blk), + job = job_create(job_id, &driver->job_driver, txn, bdrv_get_aio_context(bs), flags, cb, opaque, errp); if (job == NULL) { - blk_unref(blk); return NULL; } @@ -442,8 +434,6 @@ void *block_job_create(const char *job_id, const BlockJobDriver *driver, assert(job->job.driver->free == &block_job_free); assert(job->job.driver->user_resume == &block_job_user_resume); - job->blk = blk; - job->finalize_cancelled_notifier.notify = block_job_event_cancelled; job->finalize_completed_notifier.notify = block_job_event_completed; job->pending_notifier.notify = block_job_event_pending; @@ -460,15 +450,10 @@ void *block_job_create(const char *job_id, const BlockJobDriver *driver, error_setg(&job->blocker, "block device is in use by block job: %s", job_type_str(&job->job)); - block_job_add_bdrv(job, "main node", bs, 0, BLK_PERM_ALL, &error_abort); + block_job_add_bdrv(job, "main node", bs, perm, shared_perm, &error_abort); bdrv_op_unblock(bs, BLOCK_OP_TYPE_DATAPLANE, job->blocker); - /* Disable request queuing in the BlockBackend to avoid deadlocks on drain: - * The job reports that it's busy until it reaches a pause point. */ - blk_set_disable_request_queuing(blk, true); - blk_set_allow_aio_context_change(blk, true); - /* Only set speed when necessary to avoid NotSupported error */ if (speed != 0) { if (!block_job_set_speed(job, speed, errp)) { diff --git a/tests/qemu-iotests/141.out b/tests/qemu-iotests/141.out index c4c15fb275..63203d9944 100644 --- a/tests/qemu-iotests/141.out +++ b/tests/qemu-iotests/141.out @@ -132,7 +132,7 @@ wrote 1048576/1048576 bytes at offset 0 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}} {'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} -{"error": {"class": "GenericError", "desc": "Node drv0 is in use"}} +{"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: block device is in use by block job: commit"}} {'execute': 'block-job-cancel', 'arguments': {'device': 'job0'}} {"return": {}}