From patchwork Fri Feb 5 16:37:11 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: 12070427 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.7 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,URIBL_BLOCKED,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 29A3FC433DB for ; Fri, 5 Feb 2021 16:39:43 +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 6700664E2E for ; Fri, 5 Feb 2021 16:39:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6700664E2E 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]:43028 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l848z-00021Q-Bq for qemu-devel@archiver.kernel.org; Fri, 05 Feb 2021 11:39:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40364) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l847A-0008MT-5s; Fri, 05 Feb 2021 11:37:48 -0500 Received: from mail-eopbgr00136.outbound.protection.outlook.com ([40.107.0.136]:22969 helo=EUR02-AM5-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 1l8478-0002Zv-AQ; Fri, 05 Feb 2021 11:37:47 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E5q4v3L+JDVlCFto8Ku/KVhDCihRv0b9OUR+a8Y5QboeKVtvyN4gOainlvEu9bU1rGaq9X0KZ27aKZ3aA9PhhVv0rOwBN1VHvZdvOaTRXlbmU364vJnjRZFMRlmwnrvQEfu2xefKG+fYOmn+k4cG1/dm5RT0LMlAfdcyLW1wL7bYAoMqNgFH7b7VJqvhvevDRIjsZDtmIKXLddbDXljF+iHc/Eay756QNFCI0eG6q2LzAiMYJPf5suZpFN/rCmNI7KQYjnYXtami213GDEsfpuuuLab1XUEJuYgf17wsTyR67npds4k8g2qZXWuWu1FHLFkTWn961HqANvSDQAW9WQ== 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=sptDySwbRElAsPZVDjm9TBSpNzlficrZC7BxfIFn6/8=; b=D38dL99bNaRl4retM+pHRiTbzUaURBLWIeoeuYI5VczjzyPHTgR4P9gExVqETgjJ9dwNK7J8cemACFQTK4gGcQgqQ42hyjOfP4iPxj/SxMRUIYWuASEb+5wwxwy42t/iTiZUiQERRaQ1kbWW/KU2TYJxsxG85WSMCMawB0Pba+dwJl5Wp4LmArxmiK5Q4vXyAFFyGpo/Yd3kS5fwtWIOpSKUVsIDro/t8J6BN2/6FIyPpx1/w9Ptp1sNtX688/VR3PQoCNsUP0L+r4F158zJCeQBwhAdwWYQCatQ1B7w4nvVgGJz128eBXYIypUtH+NI5SRWv3tyCmVs4UUPfHhysg== 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=sptDySwbRElAsPZVDjm9TBSpNzlficrZC7BxfIFn6/8=; b=Kq7JMTdH9jvi/PaVG1yci0zLsf6NEveemszkonnFQLBK2dZTZQvxp6ph2ZiBKmZ7dp76Ph4JOHtoDB0AowPWdBu8vlvbBVPJrzuHWOYVgpSBuiUHs4JrSMqs7Zh6hgAHQ9tJFNIwPKnz4vzG7fCySvlfEIlFjxHJDSKp5VsmeP0= 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 AM6PR08MB4470.eurprd08.prod.outlook.com (2603:10a6:20b:b5::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.19; Fri, 5 Feb 2021 16:37:34 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Fri, 5 Feb 2021 16:37:33 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, eblake@redhat.com, fam@euphon.net, stefanha@redhat.com, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com, den@openvz.org Subject: [PATCH v2 01/10] block: add new BlockDriver handler: bdrv_cancel_in_flight Date: Fri, 5 Feb 2021 19:37:11 +0300 Message-Id: <20210205163720.887197-2-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210205163720.887197-1-vsementsov@virtuozzo.com> References: <20210205163720.887197-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.213] X-ClientProxiedBy: AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.213) by AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.21 via Frontend Transport; Fri, 5 Feb 2021 16:37:33 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7538133d-d197-4e13-3ff7-08d8c9f456bb X-MS-TrafficTypeDiagnostic: AM6PR08MB4470: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6430; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nBkUSTOlpEWDmu7d0xR88oSznBBCCFI9TGI4OA4+d/b31ZQy9DDAbsKXJVje4w3CoTvwgLvto6frRz/4wcqn3Gu6LG8Np1fmDG42EG7XA2h4ifUPKsLCi8fuoFAl+7fr+Ct3mKvu+VBBglxuSb/XSs3lMq9Lfopaz1cXsePTUZu7/i4tmsA5MM/oV8KgCbDRHBsmBDct4shnhJhNI6UzOv0Ti1R1cBKnw6Yufjvh2A9Iydy9RtkCuzziM9qvRdGR8kxSCydNi5FPGquwPtbVTW68TQ02H/QVK2yeQOBwnL088x8lYNG4jlDOk+gb58IGfNxfEqC/oN4oBey8KCXNnnQcqAxxEjPQ+A+NuB9jlVEzApPSyUp8p+GF7Ql/tZjhWIua/UWQ4LM1GfW/jHMwvuXmqW84GIClUOOsr4YDVfT++0XrXmV8oMza1HZyVgguUy8xY9iQFyRWJ2t3rHA3haji4+Hz5fDO0KlaNsCpcLhDLqiLzH9hMfIdiH9R4ZQZTwYC46PTWCe7Sc4TngzvBA== 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)(136003)(346002)(376002)(366004)(396003)(39840400004)(6916009)(4326008)(6506007)(478600001)(86362001)(66556008)(66476007)(8676002)(316002)(66946007)(107886003)(6486002)(83380400001)(36756003)(6512007)(956004)(2616005)(8936002)(26005)(5660300002)(52116002)(6666004)(186003)(2906002)(16526019)(1076003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: va+eYN3oLZClKlfR2wZH3ArL0sMOO8ZpsKDU1E+vmi+V7DsV8Pm8egWDSs6QMjTvcfn6JjriyAghzmIxmoZBZUul6zz3SlZROKYo34ihnD41CVT4n851kFkEfWxGu1rr7mBsm/EUB4VeD120KPTUfhuD1mz0C/PPZUCCEXLVRehMZPdYfFOJduhUDQ5WWZXUdSx9xA1lvzAMYrgIIyBrK+CQyXjzLUPiBiFMBi2vb8WSDCYqAWRFv4OAc4E4F1i2gCKBxZ/6OyKgInhl2NxLFdVSD8Nh4sFNf68QzTpmOUYaDyG5AA3JkGhS5B10Jr8/53+xz975VfLV+bIfXiOt5vm7kvIGlec3aFnZ+dW4QgX6lyr1gacnAMRMefsuDcWPmM+SevPD8DeTSzExhr3LL9hPXYPy+M8QOqMHi428rWpEsAkRuhATK5ODxnGSDJIHcQRghZV15vi1hd/b+BDcPUSijxQZfeDdTBK+zLtto8RODaLKuZaZK/loGtMCNnxLxAg7tr8S7nI9mZr8qzwAOqsrr1rz7S4bBwxxaIIOm3EGrB9BI4UeztTf/P1gStq7M3KoIofp69XTeDmQISEC82Lf6u36YuefDmRsZ8AzL3BgtXRDdEucMJLK6uj8BPAv+sXjkQjPFH2dP8ERwhWxDNvJDwym6qmvc87WpklQdzpzd/RF+afoV66NTWGxsRAvOVVpX6MTriMWgYC0wt4ob0dhZNCV83t3qY9MyfEREBuMXsjLge/pgi7EznxA1Ny6lDANcHwygbhXyKwxvK3Ob5xvddVbQxnQHooE6qeylz2YRaxwE6hA51rnPmp4FXYce9z1FyEU+KpeoWzWFeGSl/UVqHLR8MfMz/7OyjYefVFi8MJ2ocRvUopyc4/h8DrT6GLS5rqCKY0cm5WgmsAsP9q7YuD/z4k2YRh1ReQjp8AQWYDiY4slJEkoqTIX3561JvtB3NurgpSSpa528oV9+PpuNua/WH2/2PIj+ZMuSPvYvHPWIwAHec0w1cfJQWZ4rN+1vx/hG7+F/qmT8ZkIqp+NyjwHOSmVefKh549CwHjrPs1HyOv061RDdrJVb+rf16rqcOsaSLayeCCeozZwv1mZeQnlAUpOqK32AwOqDjzi/3yAZcwFcXABymBWARhFolESF+KDbdcKqaIjBJKyr1BSNm61xIH0thiYEz9Oggh97J4BOjH/HVxneTYaGR9zCDMvv+tQ5DDTir/Xg1GQ4DYMn864xNPqa0mKP7lgKrhZQGkXEVnLs2ryaZDwAU0Tr73URYjhIbBV9VPqeaelp39lCzwNaSSJuanpAy7kJDUVJsAvEZenp5+SGqkwn9ut X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7538133d-d197-4e13-3ff7-08d8c9f456bb X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 16:37:33.9122 (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: 7cRCFYrNOx+bmkTHLqbq7A+beQAOAdrlGQvqmXOytTnd/x1//kX9kahCkQSBxNlaq/V8XJ5+6OBznXzYIoisCfJ6bGXttv+ynImPvIyeGHs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4470 Received-SPF: pass client-ip=40.107.0.136; envelope-from=vsementsov@virtuozzo.com; helo=EUR02-AM5-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 will be used to stop retrying NBD requests on mirror cancel. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Eric Blake --- include/block/block.h | 3 +++ include/block/block_int.h | 9 +++++++++ block/io.c | 11 +++++++++++ 3 files changed, 23 insertions(+) diff --git a/include/block/block.h b/include/block/block.h index 0a9f2c187c..2f2698074e 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -849,4 +849,7 @@ int coroutine_fn bdrv_co_copy_range(BdrvChild *src, int64_t src_offset, BdrvChild *dst, int64_t dst_offset, int64_t bytes, BdrvRequestFlags read_flags, BdrvRequestFlags write_flags); + +void bdrv_cancel_in_flight(BlockDriverState *bs); + #endif diff --git a/include/block/block_int.h b/include/block/block_int.h index 22a2789d35..88e4111939 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -352,6 +352,15 @@ struct BlockDriver { bool want_zero, int64_t offset, int64_t bytes, int64_t *pnum, int64_t *map, BlockDriverState **file); + /* + * This informs the driver that we are no longer interested in the result + * of in-flight requests, so don't waste the time if possible. + * + * One example usage is to avoid waiting for an nbd target node reconnect + * timeout during job-cancel. + */ + void (*bdrv_cancel_in_flight)(BlockDriverState *bs); + /* * Invalidate any cached meta-data. */ diff --git a/block/io.c b/block/io.c index b0435ed670..ca2dca3007 100644 --- a/block/io.c +++ b/block/io.c @@ -3460,3 +3460,14 @@ out: return ret; } + +void bdrv_cancel_in_flight(BlockDriverState *bs) +{ + if (!bs || !bs->drv) { + return; + } + + if (bs->drv->bdrv_cancel_in_flight) { + bs->drv->bdrv_cancel_in_flight(bs); + } +} From patchwork Fri Feb 5 16:37:12 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: 12070437 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.7 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,URIBL_BLOCKED,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 ABEEFC433E0 for ; Fri, 5 Feb 2021 16:43: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 3046A64E41 for ; Fri, 5 Feb 2021 16:43:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3046A64E41 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]:51368 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l84CD-00065Z-4L for qemu-devel@archiver.kernel.org; Fri, 05 Feb 2021 11:43:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40366) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l847A-0008Mn-Ch; Fri, 05 Feb 2021 11:37:48 -0500 Received: from mail-eopbgr20092.outbound.protection.outlook.com ([40.107.2.92]:26183 helo=EUR02-VE1-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 1l8478-0002Vt-Qs; Fri, 05 Feb 2021 11:37:48 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XRJ9mJI3cc44NkMSRbYUTf5bDh+G5lUIN/tJllzNctLR4v976kdnLHeJnVDBi9mzXUdesJ02FeDCG/lnhkrszEL7wpvSgQmo1sB80jdQqHRkfwz4DS1KQqI1CEhlZkEThu6QbfeiU3gv2HZlQq7rd8Lbmb1eocDnTBw5pTKcgHfC1j2mE5R+s2pgo8L3xl7O8UtrCoDVmEKfZQW0n4pDNMj0lrPALoiwfsf/68l9Gi6Ma9M4owwn99EWE+4fseCS2g/uJDnP2eJXX5Vlnzpa5vpo2m0dejtF9xLZZQZAuSXgUiM9bHEejFt+BRMHjv/wjS6YL5BBRvpwiAmy3v4umA== 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=oo4XSiHE1fKjUyVUBhyCffIgsCiz/WrN5FsbeVwFgHM=; b=NyT1RBAzOslKyp0dgUS/eHCyrKECcaAxKk6etGqWKvWlHAhWuRkRQnZczVr/MATMaI6rA0dC1gYkON6BiwHyacWLsFuySXNOCkN1xN1YWq/5Mf446LBMk3IpwZtoHYQxUbzNOUEIbRouIp8KrEJnpVGJYxz7IO7T5pcCOyv1stSJqrrHUE/JspcHsmnwpaBYW/GNjpdTlf/HtwZSmaIH3bwM4ilHOsVnwSfQyjZerqh0MKjJOkxSoPKLH2LMiCm+Exwylu6rJllqDB/DDjbzoWgdtHXFawprCaJCgIvXj7z4ax+vMEQNp6OD4B8ytYL/sOrzM50wNxJrlC63bovQKA== 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=oo4XSiHE1fKjUyVUBhyCffIgsCiz/WrN5FsbeVwFgHM=; b=dDo6ODciK+8s/cMbcxLHj6ziaGUEL4Q/XUOngTrTHkU4qk1xXMjt0IgQj4QOgjzdHcQfgAQ59j30cRlEAlFdJklUbQUSGQvjfhZX1eEQMfU6Pb7TDJVbvyMJe+6POorBbmSbzuyLJGdiw/rh7Qw1rv3p07wuqojZMriYmoQDoW4= 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 AM6PR08MB4470.eurprd08.prod.outlook.com (2603:10a6:20b:b5::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.19; Fri, 5 Feb 2021 16:37:35 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Fri, 5 Feb 2021 16:37:35 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, eblake@redhat.com, fam@euphon.net, stefanha@redhat.com, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com, den@openvz.org Subject: [PATCH v2 02/10] block/nbd: implement .bdrv_cancel_in_flight Date: Fri, 5 Feb 2021 19:37:12 +0300 Message-Id: <20210205163720.887197-3-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210205163720.887197-1-vsementsov@virtuozzo.com> References: <20210205163720.887197-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.213] X-ClientProxiedBy: AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.213) by AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.21 via Frontend Transport; Fri, 5 Feb 2021 16:37:34 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 18db3a9a-b650-4b15-e182-08d8c9f45757 X-MS-TrafficTypeDiagnostic: AM6PR08MB4470: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:132; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2iA/Hdhq5J8iGsYeUu8c3Vor54Wnc2k1LL2pIJtX8CoUN4gUcbpJ4jgILVAbZy+h8Xm2u9VE4oBVgPJzj/Vb9nl6331PZ4rlLDsZPOKk3E4X0UNsR9WShwspg1DPPW/C721bppQFXptH+pFtcZo0xPbo1KIgHl6VdMfGTJVxvM3uRNddveXWHtZ790/eGZhEWmIg9OqpK5L86rQeZ9pBS3+f4Z+OgYdbQ6taMhZ3jpsEldsx7qp9LpLH3ZeyjIOJq1DaSKrnp/tl3LVD9Xu1VetQ4UUv4KlQMk30i9WupSh+8oSNzXqqebfDMel67BUBJ7/F5rwtxYnFTBRcZvyYKFM4fVmyIcgKhYXl+puuUv1/c2ItKtr1jus/QpLRl/EA6fu44Qd6jdcxWyrNYuCyZxgaLaR8ArkFXy4N2A5SqrKdNAOkApoE7x7ohkruFBumNhEey3b5AFXPAQ/HIyOPACrk22riLzp9jQVf8h7oAiaV0ZLfYcCyr3+8vXpv45VkSXhreycYy4YDhHb6UzrbIZaQsvfFH17Ce5huzk/w82HCbV/JWzkdZ7DbnXeYIVad 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)(136003)(346002)(376002)(366004)(396003)(39840400004)(6916009)(4326008)(6506007)(478600001)(86362001)(66556008)(66476007)(8676002)(316002)(66946007)(107886003)(6486002)(83380400001)(36756003)(6512007)(956004)(2616005)(8936002)(26005)(5660300002)(52116002)(6666004)(186003)(2906002)(16526019)(1076003)(142923001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: WaCrEVKnK1eAp1P1jYs7lhDa1uupEFiCeldhZ1wqxmX2dN5d+p7G4ZA0/VKlE4JQbiF+lLKExyMOAMYciheyxhN3eNXobYOCTlkRYgjkrcLL/zp1BVHBHDXt+SvUAd6ZkrROvWoIakloDzajoR/wdGY89a1+zFqnQZDzgP/3/hXKY+qhIKpnpWXrGaSJKMHOYnv/2aa8rFy2ITA4w5LjHkxxsWTGijnZaQUmFZSVUSaA6p+Rxs4W51nq78hG6FxdniyFMtMsdMQb7CdGJ7N8TwmLaIb88R34v92z/TF+c9UEExPEB2c4IrLouqz6vF08FXinU1IFov+eBh1Jloa/yNZX67KCZ8MRrTowm+Te0lgvPL2BKCeLrULgeP9EhWaQ5rKNzaR9IMZsQJNLmO4yD0B9D4sZsACOhDEWo0YgmNVap23BwfK3JGk7XwGlWzVNQEOn94YIGwDfhOnnxwYiTNNHwcEm+sV93vJRSObLxKEuvW3kcQ5sJymfL/hJ0WBTYrYC3B1viNaP2Fm47FoRQZC15LeKb4DSt29od0JU/Cj3jkDI8HCTgI8p0EuIOMf5QokhWnvBTB1pzYwkfVcZlTCISRxRyvaYhG7M8n1xJ4lOlkdrXj7TrhOx0d+AfHxnDCArzc+fLkz4pjJW5l+E0SDfjyaY8+nXVQ2nBlb4fgPfojDoNasvb/WBsfHi5yYeQ0r8l8P4uEWr0OOY5aB+UYkB7bFr53UHS/s5qKXGTFO4d9l819TEU8pAP2fvwycmCpW/3CMYOavr2l5tVN5RnsFsH0dLxE7lb7DKvk/SySotYNuRgeg2Avq3pN/oHv6IjTZIC5ua2Fs8E/5fvNsjWkRSR8LjoDsAoWE3474L+ZKiboqobMs5VZIuMM8GJt3o+7AoQj5LdJ+zuYOiRFrsPOFo4f8/y9u0hA4XGZDo8utd+iwkYZZcQlkhceR6pYGGo+Dlehsg/BAOYlTdxuKN8aROdsaN+nqmbhWPidGi02ZlZOdx36wKIPpTFo3DQThLFruCPx/QcV27U4b5DG/FcswimMR0yEeMbvsEBpMOJVhpMZV2INeg/3E28X9vpF9ZW7wtCeSMoC+7p593wpvw7XJcUmY3d6MksCK1OwvgkUAwCQzD+NwYiaFB8RQYVjW2ny8scxw9ERLNDIn68LfewBGzr9Yy+L9Ov6Z47PlSHsExEdf/XUvU3xKcbU+IrZ0nPkuHK0d0nHzkUGjCyUAdVropgwI5Q9sbPSMmpbFwkQ6uJKN07ZOpy6F68K+G4t/bRyP+hMlAO2IuBsxMEwrrI6Z+LsTVAauYv/s5eRS1aSYqr9+mf9q1tjZ5wZJN2bZ6 X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 18db3a9a-b650-4b15-e182-08d8c9f45757 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 16:37:34.9875 (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: kKCGXva5GcoiX3DW6dwQvpg6mu5Ip/V1tk0qngXDnqcHxfiFm7YhJ543AOU0l3WB5KBi/fYi9XlM+0tJhpwripqlA6nkIKrxEQeXzzFt/zI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4470 Received-SPF: pass client-ip=40.107.2.92; envelope-from=vsementsov@virtuozzo.com; helo=EUR02-VE1-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" Just stop waiting for connection in existing requests. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Eric Blake --- block/nbd.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/block/nbd.c b/block/nbd.c index b3cbbeb4b0..c26dc5a54f 100644 --- a/block/nbd.c +++ b/block/nbd.c @@ -2458,6 +2458,18 @@ static const char *const nbd_strong_runtime_opts[] = { NULL }; +static void nbd_cancel_in_flight(BlockDriverState *bs) +{ + BDRVNBDState *s = (BDRVNBDState *)bs->opaque; + + reconnect_delay_timer_del(s); + + if (s->state == NBD_CLIENT_CONNECTING_WAIT) { + s->state = NBD_CLIENT_CONNECTING_NOWAIT; + qemu_co_queue_restart_all(&s->free_sema); + } +} + static BlockDriver bdrv_nbd = { .format_name = "nbd", .protocol_name = "nbd", @@ -2484,6 +2496,7 @@ static BlockDriver bdrv_nbd = { .bdrv_co_block_status = nbd_client_co_block_status, .bdrv_dirname = nbd_dirname, .strong_runtime_opts = nbd_strong_runtime_opts, + .bdrv_cancel_in_flight = nbd_cancel_in_flight, }; static BlockDriver bdrv_nbd_tcp = { @@ -2512,6 +2525,7 @@ static BlockDriver bdrv_nbd_tcp = { .bdrv_co_block_status = nbd_client_co_block_status, .bdrv_dirname = nbd_dirname, .strong_runtime_opts = nbd_strong_runtime_opts, + .bdrv_cancel_in_flight = nbd_cancel_in_flight, }; static BlockDriver bdrv_nbd_unix = { @@ -2540,6 +2554,7 @@ static BlockDriver bdrv_nbd_unix = { .bdrv_co_block_status = nbd_client_co_block_status, .bdrv_dirname = nbd_dirname, .strong_runtime_opts = nbd_strong_runtime_opts, + .bdrv_cancel_in_flight = nbd_cancel_in_flight, }; static void bdrv_nbd_init(void) From patchwork Fri Feb 5 16:37:13 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: 12070439 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.7 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,URIBL_BLOCKED,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 7D111C433E0 for ; Fri, 5 Feb 2021 16:44:42 +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 E426964E41 for ; Fri, 5 Feb 2021 16:44:41 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E426964E41 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]:55272 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l84Do-00081g-N4 for qemu-devel@archiver.kernel.org; Fri, 05 Feb 2021 11:44:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40400) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l847C-0008Ra-HQ; Fri, 05 Feb 2021 11:37:50 -0500 Received: from mail-eopbgr00136.outbound.protection.outlook.com ([40.107.0.136]:22969 helo=EUR02-AM5-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 1l847A-0002Zv-RC; Fri, 05 Feb 2021 11:37:50 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hC3jw1Fcqa4zf9+sZ0U8A0bqp9wa4OVAQBuNhavyiHKR/FvgMP3lIzSNTZ1nha46pELxdO1nXla+4anu4bneNu1Kso8mHcvNjZIG2MAOlvXt9OR7mwngBOOLft6hBQtYphPzpCmq0FbhKHHyMuAywqH3DLaHTZmZCJXJTCpjgqn1O/wZhky2ubBML7MpA+MKLPpSrAyfQfmY4bkfwP7eOfJ+YvMb6rBF+6jiGY8Fi3gazGoRua2B0zztqgZpx3PqLjj3MKMlG9dxRdbK3GPUVG7OOs1ValuYcEsC2DV6uQ5X+VHImFytCa/j/AqzH+/8AAhmBIVHdgIRhOl7CrSv3g== 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=CBX/uK5jDaZQzZxHWLvdh1PEJg0iAHMjVI2T+IhFxM8=; b=fthlLMWnGdBQmMHZxBhriTzwWimMAQ/2tKh307T590BIx23fN0sFyyNHDigU+CCr89eJKvJF7cpBwi74EYrlj7qaIOzGmnf7PYgQUWtodwJxbVGqn1EoyN2h6/FsZMIn/UYC+QcVK21LSagf/px2dAYXB9v6yElznJ7Zuk6qkplWeodkRKmLeaC7DfZrH62NWoR6VRiO/on/e+9L7wkZhzUA7E9J476zQwVqm4ExFVoPGF28TTtb+biyRXyWcl8OcbZR05jWn0DmeaEUIYdHQlQjFKOsvIRX/VgBQ5UU9fbnIhCSuNm/NKudln6dxjY8i+myrU/2S2tC969cayz21A== 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=CBX/uK5jDaZQzZxHWLvdh1PEJg0iAHMjVI2T+IhFxM8=; b=Iazt/FTOPJ9lHPqKuZ0fhPhTswsjdqYb2rXSZHsdTGHcM/wbGOgiRqtxC+eGFSBVLYfplAP17FKf/x3nwubkz5hYmaNXC5O/04JGbu7BDVHWNsr0wlMf8HT78tyqxnD1QWn7IafFx1Uu/tHEO5CBLnG4lfhnDoQCPW2ae+YmYg0= 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 AM6PR08MB4470.eurprd08.prod.outlook.com (2603:10a6:20b:b5::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.19; Fri, 5 Feb 2021 16:37:36 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Fri, 5 Feb 2021 16:37:36 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, eblake@redhat.com, fam@euphon.net, stefanha@redhat.com, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com, den@openvz.org Subject: [PATCH v2 03/10] block/raw-format: implement .bdrv_cancel_in_flight handler Date: Fri, 5 Feb 2021 19:37:13 +0300 Message-Id: <20210205163720.887197-4-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210205163720.887197-1-vsementsov@virtuozzo.com> References: <20210205163720.887197-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.213] X-ClientProxiedBy: AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.213) by AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.21 via Frontend Transport; Fri, 5 Feb 2021 16:37:35 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 273ca9fe-fa35-4798-599a-08d8c9f45807 X-MS-TrafficTypeDiagnostic: AM6PR08MB4470: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4502; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jWt/1ozbl0dld9wvAQ3BCTWwBcOFD0U5CNrAcaGgFJyrTRHuPdpJw/lMCJktQlAPuNXTcg03JtqarucHqtwgUTBmk+R+bUbswxDck8Ip6zCMmIOm33BeOVCG3KaiRkgrjzspEt8PwKjId6Lsd4GG8ZG0X1RC4ddDYEXPaekK2CcKtRewKlge3kJjQJdjGnHzNeFz8VBh11nYF7ihPbEodPCvkAbl8pM3IXeUxtJkfa6/cuLl4IR3ULKmG/pS6l6ypFMXcj1h6e1VHEvtutQKvHX3d4Kuqv6XiVRK6CWd3Q2kuVJCVHooryy322IZnsBzgk+NuBHeDfpegXqJzUfeIupAlRnTWb5p8TJTKvRzn9fCm339vv/EU3b8w4IHBIxj2wFbGPRJxjVHQP+bUllmJfMDKTFRxigPko5s5Vgz/+hh41HQTjs7vgzVWjuRRUPWaUZbc/jpAulbj9OHQfV3wmo2nOm1MGFWYVxIynrBy7hLyIGVCGFrORcHOStgU9e+5Hr0Kz701T4dp0haihcHBEvVa43ItZqrjJdzq8yZoTs+pauF/5Z+OzmgncPV3xaRusbIe5r6JCOmR5mTAFTzQw== 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)(136003)(346002)(376002)(366004)(396003)(39840400004)(6916009)(4326008)(6506007)(478600001)(86362001)(66556008)(66476007)(8676002)(316002)(66946007)(107886003)(6486002)(83380400001)(36756003)(6512007)(956004)(2616005)(8936002)(26005)(5660300002)(52116002)(6666004)(186003)(2906002)(16526019)(1076003)(142923001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: WjxvGy31qx/7c6KAZ0JoXEF3ZjMW+bCWfcHemItPVXZyEBrdjQTtVZJX3ATMC+b2fmkHTj4LtVcnw1WHH6Pe8147RqsDPmLwIrGm9aok7MGw+RagdwCSvsBBDwH2I2sXin4QIDgRDDQx0w6e5xAs1/EbQzee73k3D/jy+2KrJpykq4bhsPDq2gUkOu3FwXo0cz4/wrwk5Kwp7XYGYKSCRbO2mGV8hLO9+EwB56jzTW+obJVBWgomf7El3yNPDN4AlnUs7ySdzeJvthLe+A2UNVt/TP8k7A47ifWp7opXkGI3sCfxjoyRJXCs9wikyYKVSAnTPUhaqS/sTBkV2Sl9chdOd6XAD/smS/zoP2yWRPCOR0AluO3EmWaVoO48CTwIbDqvaQqDFHziq5/NLt+MPH6BQjTdNUSIa6jNSOGX3++cX+eLCrXVRJwuR+ztcEnZ0Bm8MTjN2ocxtMxge2K1ONGqszm4VpYXGnlOBuQOfEM6WPYJGzSNAwEZD1Y24yqp40AB5GRT3lqiZmI/Cxl5fT7+lax5NWOyYZILINibO70Og+CVkOBmKh81j86tf1os6g8fJHZ53IhklHdYDZU0xY+B3h1Pv+pffkg2mLuhPN6x5DyHvUBj6kdnfBlttAg32Ko/M5c3HzfqVlfwME+hMKsopxZ5fuk7nKiyhqB8ami7Lchruiv5DH/PNJQgpf0hqm9tNbtMFRjbEzaBfzJRnfFhPA6yzDtHRAXQ+GqaFuh6RfejkSI7QhGIK5KUImG/CtATSSh2zkp4jY2LohwNvo30W9wlZdYqZBwOn3DdOs+uZtmrontWRmK+bwxpgavelZNqpTh5fma+YaGNefS7blrtC45EVZLExHH/c2deo3MfhRhO6yabDTYh6TlgF2q8PgDHF+y/UxLOTP10qqatbQxb2cKSVLBh+OYd/5gqO9PK5bECyTN7uUSX7d/Uw2XgsdGbPAniYqvm+Q315x5RTQmwoirsQIwd4FflR4L/OExH5A5BCHozGGlPhhSOec7dImVZ5LM5GLloRZPzwjbZmv7xCG6FsGnTA973VR6zdA49zkivd8Py8Awf4OdP3oPU2O9clJWQEscqEenbxAxfnvZyKJAltuYokmIP5+HEIvwAXDm/6C5Ldhdp39yMIW2NklINg1bMQa6dRLRDX/RKn8KC68bZXBcNfu7Bfnf+jibiv1KdXymlUGc6bBlFjzh97El6grw0BqDqQtUUrqR/PwTgw4bbLyA3tfx9+VmRHlhNdsoP/Wd0jk8+V05InexjYI5axlC4llpcBGBwVgWw+INnxmU0+YXIMFbLTdaegYkIJqQTEHXI0Kn1p6pwMdfD X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 273ca9fe-fa35-4798-599a-08d8c9f45807 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 16:37:36.0538 (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: vVbTcVKaa+NaLtGk4Rxvh5POl435U8uFQBKtdkQ9CV/gYxTMZfwQpPGwPxuOc06LyiIieHcFdgbAUOAYZHsandabFBPGQe8vZmaXRZXwW6c= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4470 Received-SPF: pass client-ip=40.107.0.136; envelope-from=vsementsov@virtuozzo.com; helo=EUR02-AM5-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 cancel in-flight requests on mirror nbd target on job cancel. Still nbd is often used not directly but as raw-format child. So, add pass-through handler here. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Eric Blake --- block/raw-format.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/block/raw-format.c b/block/raw-format.c index 42ec50802b..7717578ed6 100644 --- a/block/raw-format.c +++ b/block/raw-format.c @@ -575,6 +575,11 @@ static const char *const raw_strong_runtime_opts[] = { NULL }; +static void raw_cancel_in_flight(BlockDriverState *bs) +{ + bdrv_cancel_in_flight(bs->file->bs); +} + BlockDriver bdrv_raw = { .format_name = "raw", .instance_size = sizeof(BDRVRawState), @@ -608,6 +613,7 @@ BlockDriver bdrv_raw = { .bdrv_has_zero_init = &raw_has_zero_init, .strong_runtime_opts = raw_strong_runtime_opts, .mutable_opts = mutable_opts, + .bdrv_cancel_in_flight = raw_cancel_in_flight, }; static void bdrv_raw_init(void) From patchwork Fri Feb 5 16:37:14 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: 12070447 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.7 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,URIBL_BLOCKED,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 85FC4C433DB for ; Fri, 5 Feb 2021 16:49:33 +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 E9E4C64EE9 for ; Fri, 5 Feb 2021 16:49:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E9E4C64EE9 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]:35862 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l84IU-0003gU-TH for qemu-devel@archiver.kernel.org; Fri, 05 Feb 2021 11:49:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40402) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l847D-0008Sz-3f; Fri, 05 Feb 2021 11:37:51 -0500 Received: from mail-eopbgr20092.outbound.protection.outlook.com ([40.107.2.92]:26183 helo=EUR02-VE1-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 1l847B-0002Vt-7t; Fri, 05 Feb 2021 11:37:50 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XN78T8SlL6A+818I2n+iWRWREZcI/RIS04GNAx1Jj1kb+dn3Y3CCND7mig/aV8QJinn3my094dpQ/oYADZrEB+wWkL5qLGLNE8nsGOulWIfLH2z1ePx1HD0VAMZ24GO7Si1DKMvXUE7xaxRL5k81qzuz9f7RFfe6PwJwVc1s4Hq428mUgSa29X3XPK3a7RiptS+1k6CDUNdLfIrBUwAjO85RUwSJHh+EfJ9rBdlN5lZn4PFl1mmdzQoT7HsS8LnhU84g7nA8am7dn5ABZphOQJGYo5zv2/7SJ0ezYUsFxLA7ViQht9+YaMEcrsong7StH7L4cph6Lj7BFxF3e5DPbA== 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=c5QBz2YH06izKiytUc4ao7dNFfscxKi3lGg6bfqQ1SQ=; b=dJdMQZDoFJAyjtA1axB4JS6Jl+ZfAGFzmzS/sQ9HGqF+uLnmSahMPUUEbrpUbkY15TQ0GdZP1X+3eQ6zufB1HsSkGq9xgMfTZRtCrvle+iYSfFgy1GAxkm+q76UFJ+o5K0xhZ2ZPqn5veJeii40P6Srffp49mdvrNdwQk0JUStD/OEIV5qbUx3GEoqjZam0kqWxgszbSEnmInSpctNpMNDVSZQ/58RaQ2ZCjQTTKR06Q6kY8kyR927ONW0ggmCmlxKZaZslrhN8rIWfr4m5KqCLvd7K6/mfFg9VJ6RakGi8/S1U4dJD0daOM/6dpEMZsnyLzcdYv8rejgbKiTFQLLg== 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=c5QBz2YH06izKiytUc4ao7dNFfscxKi3lGg6bfqQ1SQ=; b=KLx/ydyo5NrhU7Xtrj0+iT6+dUt52k4oEWIDC2IsaZABtKgACBxX7V9Wzdtni1JKgqBZUcy1XukZ+FCefvAqW+xXO1qbr350ukIjMPVBO6VqhQzSmWeC+A/Rkxundj4ilCLf6290B8BlxG0U5GxYoU/9r4A4INDiHnylGJPbwe0= 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 AM6PR08MB4470.eurprd08.prod.outlook.com (2603:10a6:20b:b5::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.19; Fri, 5 Feb 2021 16:37:37 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Fri, 5 Feb 2021 16:37:37 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, eblake@redhat.com, fam@euphon.net, stefanha@redhat.com, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com, den@openvz.org Subject: [PATCH v2 04/10] job: add .cancel handler for the driver Date: Fri, 5 Feb 2021 19:37:14 +0300 Message-Id: <20210205163720.887197-5-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210205163720.887197-1-vsementsov@virtuozzo.com> References: <20210205163720.887197-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.213] X-ClientProxiedBy: AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.213) by AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.21 via Frontend Transport; Fri, 5 Feb 2021 16:37:36 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b163f2d0-37d5-41a0-6f54-08d8c9f45898 X-MS-TrafficTypeDiagnostic: AM6PR08MB4470: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:873; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TrMZ/htpPUa6vlH35k9kiDWq0LDVzWbJGZrcfdZDB1FEYqkrt3cFmR0id2hseY5+xArC8xulmQfQ5HYNocos67VVxFEE6EErs3xbsP7Y/Xz5RZBktVXw0nS2xg1BjKHcJ6fqgFmlEdrD1mjHx/A5CNje1JCm25W23OiB+USBKtmzfceGIwe+HFY8+hD61FXqlpYmTc0uXpK/LdygD7cGO0uXXYv03sgFGuQroGKrOe5uPh+Sri30MPTByV2EqY7qSa7M/B2Tqi9QqWOhlJGBCNLqy9BlEe1aR6pkA8PMDjtqSNCaMDXz5+Uh04RNhSSzyJFFRBtIhxmOVLDI9w9oUKzagWto+90F20TRbn4pyhpOYL3ErzA54fD2RrnOmDkxDGRxj3FQjVMSOstrmYNx3C90g+ts3B8D/aQIndB3n/8gKMhDKFC7qrdYvmH8kKyVrPOGrUmGCvktZonbvKLWlUycC/mVI7d00RK1mvlscVFDPg+80/uNobP8xXvBgaWjEvrqTmgx6Zmp7sfi82fqV/4+VnhH14ieGmnzKDmTFnuKswH/Rgv41hGfoHjV0epkKg1OcyVj8ohnpgBRo2GNeg== 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)(136003)(346002)(376002)(366004)(396003)(39840400004)(6916009)(4326008)(6506007)(478600001)(86362001)(66556008)(66476007)(8676002)(316002)(66946007)(107886003)(6486002)(36756003)(6512007)(956004)(2616005)(8936002)(26005)(5660300002)(52116002)(6666004)(186003)(2906002)(16526019)(1076003)(142923001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: Ma2x+djkZngdIzj6CqKxVw+6Ab0n0TWJk9uRXABTxfvY4uo8EsElZpdtwFWjDYZxqthaSgdcQXXtCkDzcykpFFaiYteKN+Lf7gX3NyOEe2fmMHFSY6QRs7VQWQGYmgE/a1x5K9nQ/DG8JKq3BZwYy4DGKaRq0iH45dt8Gh+bJAXd4M1obl0gzEhUv1GT1wk7nfL7JGuIq6/GMsI1TbuWqFpunOdBvqFuO5vsWpL3qoqpD+n5SyqPDbuH3J5orUZH1/Gol33B9AylrQ75aV1NQl/BOUDyItQ+sQ/Fy7OyIUuJxdx4umS+3vMtzTTlnnSXuMyNPtixyhcb88p02oo4rQccX1QZKxgvp1m4o/aBBUkjTJC3cWzYewXQElGoVJCxOJfErkRTvQRnVqNRDY3pAoMPhn0FuJg2f5z0fWFKjWQwNrZ5YoMyaEOflTb/KC8D9zlZlaTral+GFxZ5B2Uco1LKqzVyJnltZ3rOIeHxecfUR9mX6GOECFyvLSRFJDIr4yRZZH2//vUmUr9Dg3ht8k6lRZF2vZQBbv/5RqajrPfFsry6oF0Bs59OL55fd8Z+ewHHtMq2UpGhJC1EXuOpU0nxezdevWXSGYiBhqaRQBJ80+FiMcCvTW3szUeJaodmOcSbMESAwkE77QPK7TtZDDvoCSLMU+avkFCA0pGrdewVwfX+z1d5pf7FrEwiA6+JHYfXA5nHYDGdeLI8v420LsSbAXJY28vrnQorB8TYRQ5T0lolIlt8+UgaA8FvPTqIbJ8anWrDWDk4xXvYQ8Vkvu9z8FaaS3RxypfoVC1GAZ0wn1SgmRUqLcuL+2naXCU7QsYIxmOzdh84cN/TGj0NyP3UGsTZKaiQ7OIx3Y1wKT0FKtdF6OKupQpee0J+6PbVNYPao7TsC6i6wPorMIkR5+EGW1MVox4LcKv1iNaE4Q+JKlBdGX/dm0sgPQV3ZAfuEM+g7g3BqpNfQID5FAyeCQ8XW8vVHSx9gPvEW+CwSoSbvm7NxuCCvYRevMTEqtYKnec/zqU9vtqAM+FislDs5vGyXXBojx4y9wPf9Ch1Bf6RtiB6BxjKfkg78N5A2QTHCVbDHhnthGe2TyXpC9nGyx7i66VgCa9KPvQk+IJE4TDrxDqKPb20uOrRrQRxj4lrtpLGx315Msri5t1mmbdacUNgydY3An8L8owEov98mbwyMEpV4ANUcv1E7NzDw8E/v8UURnrpSRwZcVL9OSjalIyRR0zkbb86Y/d8VAwo6v4WMO/XKqAXDsHimwgsTxrUB9CrKj544pkhYVHfizM33JhnSuepBrP7w7sCYzsz/0k0GE0BSC2FzOQetXrRpoMQ X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: b163f2d0-37d5-41a0-6f54-08d8c9f45898 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 16:37:37.1151 (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: 7OzSU/qI1Rd74waIdJHyLalIV07175ioOnD/tYpEZg3/yyu1+mgXgFMvLldBpd9Cj4SaKOdz9JjIbwfgLwthaFOdX9oujZolZyb/R9n/eVA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4470 Received-SPF: pass client-ip=40.107.2.92; envelope-from=vsementsov@virtuozzo.com; helo=EUR02-VE1-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" To be used in mirror in the following commit to cancel in-flight io on target to not waste the time. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Eric Blake --- include/qemu/job.h | 5 +++++ job.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/include/qemu/job.h b/include/qemu/job.h index 32aabb1c60..efc6fa7544 100644 --- a/include/qemu/job.h +++ b/include/qemu/job.h @@ -251,6 +251,11 @@ struct JobDriver { */ void (*clean)(Job *job); + /** + * If the callback is not NULL, it will be invoked in job_cancel_async + */ + void (*cancel)(Job *job); + /** Called when the job is freed */ void (*free)(Job *job); diff --git a/job.c b/job.c index 3aaaebafe2..289edee143 100644 --- a/job.c +++ b/job.c @@ -715,6 +715,9 @@ static int job_finalize_single(Job *job) static void job_cancel_async(Job *job, bool force) { + if (job->driver->cancel) { + job->driver->cancel(job); + } if (job->user_paused) { /* Do not call job_enter here, the caller will handle it. */ if (job->driver->user_resume) { From patchwork Fri Feb 5 16:37:15 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: 12070441 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.7 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,URIBL_BLOCKED,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 071DAC433DB for ; Fri, 5 Feb 2021 16:47:03 +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 4C98764EEB for ; Fri, 5 Feb 2021 16:47:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4C98764EEB 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]:58358 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l84G5-000146-9h for qemu-devel@archiver.kernel.org; Fri, 05 Feb 2021 11:47:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40436) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l847F-00006W-37; Fri, 05 Feb 2021 11:37:53 -0500 Received: from mail-eopbgr00136.outbound.protection.outlook.com ([40.107.0.136]:22969 helo=EUR02-AM5-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 1l847D-0002Zv-A5; Fri, 05 Feb 2021 11:37:52 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kFWI3uiaSbNr4EMcBb9hwslVn+ZBCSoiHCQvd7FT+8HRB6eaG2R3zWO803G21mxSUI8LSSOBV0YXdoK/U2TpAXZp1zAbHiGUgZrNPEDFygLTN9kjClCDyr4Cp7eHmYarfzcQJyu6/N6BGbMGW4Mmx26gorNnE9+NTWmuYnii4eoyqHjkdk8sjdzY/RPLoI1hyDelOf0VzPFKvNFpy/BRx/smVVjcodl3bFgXvq5zcLdydSgjXLJhLBBIEQwFSsanfjLLsr2opstlxOLxIzXfR4hzLCJ4n20xDQqp4S8RYvOppg2lNQgH9ThYR9q2e6y/CcOf+lcYBPC3Y6LynrGs7A== 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=vyz1XND5omVmyjpBJb1rOG9vCcFs4qBL4Mimt4dg2xo=; b=FyAzb7mPuCY9Rin9huPykkjiiqRV8dHdYBWjioI6sqnK4Xv9UDVc2iCEumQZwB+1cqhvK/9QQXhruWdsK4AZdAbCxkJQh3U6cNvIIKvOcsruxemQIn5u4Lb3VzZF6WsXjeNrutYrJD0gYxGiycWZcg9A7SNWWiZnONw0/XYGXWlpR2bSaArEywm5D/4dbeJF0gMYCWm/YuT1wICze50BFjgr/XOpwqd2nwgSozFftBMVOaqOc5XVBpNpdLpWu1O+SL13zFvG6xxlbaTBeO9032Nt/1kxB0kDVtaKCltyC2hcN/pjtPYMRaDTFYXCausf27te+vhvKx7w50qiJqMWdA== 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=vyz1XND5omVmyjpBJb1rOG9vCcFs4qBL4Mimt4dg2xo=; b=J1cv36gGR9Ce5s2by9+bhhM+Et3lGEnYRUVgYv8DNS2BnPB3AijC/Gq38s23e7bTxPnFvLrgoEF3Ibr+mUEVEY49eLZnjshEEzs7NBKa9eMGFNYDrudSAadgCQ5aAhvnVnKm5UI5UuLMbplpKj7f3vSS7RgktzYBIe23zae0Uxk= 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 AM6PR08MB4470.eurprd08.prod.outlook.com (2603:10a6:20b:b5::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.19; Fri, 5 Feb 2021 16:37:38 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Fri, 5 Feb 2021 16:37:38 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, eblake@redhat.com, fam@euphon.net, stefanha@redhat.com, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com, den@openvz.org Subject: [PATCH v2 05/10] block/mirror: implement .cancel job handler Date: Fri, 5 Feb 2021 19:37:15 +0300 Message-Id: <20210205163720.887197-6-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210205163720.887197-1-vsementsov@virtuozzo.com> References: <20210205163720.887197-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.213] X-ClientProxiedBy: AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.213) by AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.21 via Frontend Transport; Fri, 5 Feb 2021 16:37:37 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2f1d6e7e-ca5f-408c-1e21-08d8c9f4593d X-MS-TrafficTypeDiagnostic: AM6PR08MB4470: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:514; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cmBE4DwJfIQCE3q/lMZvv5wWf1riTmgFfR6IGf8+b5TzJtx/Nyhmy/uhJeR2gK9pgAuoFst6DLNLIJMczYDnj6/9vPkVmc294kDKXTDvyFlV+17HiesTl3Cjb8d2NKO/UVyYhCJvr+JBNUw2R6HX4Zjm4I/7XNDxuXcSgUTQKcRmytND5pF+3VHIGD5ZEFb5I6cSdQvtmppv08ZGWYB2oPjD6Adf2CXiDATwjZ6SuR9YEj8XUyJkpH8e+rrINsEDqJdn7qYt3OpoR/UibEmni32eUC3jvGD2jilolYS1TrakGbYMT7vHXiJNciSBQsAWA2In9O+WYUDU293oxE58VbPE/b8591k/e4/wDrZfJo7CyaDmKDslb7vqkj8awi5K7L43TwJToeobGhm1sgJIwE1zqhfAhlx9BLO0sdEgW/kZrgPOnkXKbC1gWc9Q4o20Te4CENnu1aRdNoEJDLAkyWZQ/9FItuslrQc1Jy9jeNicpXrd+TqT+GLRO2fwv3VS3ITT+wKnEk9IesHno2TDtkR/db5WmDtUOUm6BU0pg1Ta3LbJu6Fu9XpjMzaNDmmUv4cTI10r5jyX69lBNiVWjS36tpkqVe0ncjOBvZ1og7U= 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)(136003)(346002)(376002)(366004)(396003)(39840400004)(6916009)(4326008)(6506007)(478600001)(86362001)(66556008)(66476007)(8676002)(316002)(66946007)(107886003)(6486002)(83380400001)(36756003)(4744005)(6512007)(956004)(2616005)(8936002)(26005)(5660300002)(52116002)(6666004)(186003)(2906002)(16526019)(1076003)(142923001)(309714004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: RnzvGsM7miwlN7fAT/ZnBiBD1FfAeM7/Tiy9GtS0F2tfXP0wxLL+Y4bQxbetAb3LCNXQX/xInZe7UZCq8mft9d02l5RSAczGGheBLi8fyNr1paE9TBQ6f34lK/cfQxs3KVvLKoDcYT42aymK57WFUW3b8C9YxQ+ouJuGeqGMhT06zBD7hYdzJsbeAM3epvRn/JlOehW23Lblp3SdcIFjZmvRxk1+7Br2OTSUo4wgCJx1/O2HAXQQCv7EwZThXi5uEBOevcpF7xrN8+l9asZoNVLq+k7iCtTkdU2FC0XbE3IVj4cwZqzk7sLS39QKGd8gkqxSMM5CMr5X2zwfjm2N8VzJdfs95qUz0ihgZBPPUSRPM1LP+tbJQhSmreY/MinrB6yNRW59A0xKND89HAt6wXCRAvUnHEhnq5+rwLX3cDHoFUnc/oYOxr0Ajs2/oyTlN5w859UFCUpDynGAXUFaftdeIneFRQZ+xE+j5UKxrxis2YOO6dzrW0eNuPbzvNCB2fzrECSsfYLfxWQnxuUCpWIta+qG7rrLFW5pjxHVY7GvWThXpK9iKtdS5X89mjQSnrQAEGrtKC3L9Wp7EQnlZaNxhVu4wpseaBIPdQ9awqlo+/AWCcrAtWhOKzHI9AAKWnz7xNvHxUIX8uCpnit7y63KEcFUhbwtrqq9QnTxwItvMOb9eoDk/Oe0lj/UpixuOSbF/knEzZKGcd+yGax/PdNIKbqA9Cniss64vM5h9C5bZCY20AesssSKya4Eks2zLdvCsNgyAxAKxUmy07FBKFCbN2I2UdKdYgYtj4s9RRVOYpWwdjcLEXP/2p4BKA6TOXNEEVLaSY94/6uM+XcWL6DGWhTu4WAYqtG65j+lv5vqB5bTOAq2zTztDKPpX4LwyvMQ8zt00/JhDLrcMCTTQ1Zle5XDDMwFAtAwWUloURbucv7xdAOrkHnGGRTL2NiY3qx5a7MHdETx+fj3/DxbnmWpkD31S+7FU1h9i2sh98fg9jp+HIPx4bOEwu7elve6V+m2qHu/OCvV+x67bGD2Z6JCBg54IYEvgSd3LhhlPa/T9wNECaM87yzVWosn2rk2DC9c1kvsmahE9+9bUv2uoWWn+YvDNu2jXAHzgNLot6hRzHWEDDxWu9PIAK7k3fUBrt9FsNcDAhA34CvD0gVxOnJJ0xtPC/vCSidh3TZ795OuFWX5x7NCJdPyMsdxSvkGn97ohgtwTWcuYbtafzPUXdbX/b4Qx92DPmDbn6QURTM7FpI2gnxM/J9+4aLT/tSlj1UxsfP7Oyq84QF4Mj9Xm+8eH5/xU3q0voHu6VH+dpTkd8zeLqozYVb+yFSP5py8 X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2f1d6e7e-ca5f-408c-1e21-08d8c9f4593d X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 16:37:38.0829 (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: tQtktfJld6dfInGalKtsotA8coxcUTQLAXGzObO5qZ2D2u7z4wNZoS6gSLEF8y3AvpLJQ2uNb43c2qhngkuwvfU4t/fpqOQ8hsXV1T3wKnk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4470 Received-SPF: pass client-ip=40.107.0.136; envelope-from=vsementsov@virtuozzo.com; helo=EUR02-AM5-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" Cancel in-flight io on target to not waste the time. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Eric Blake --- block/mirror.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/block/mirror.c b/block/mirror.c index 8e1ad6eceb..9faffe4707 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -1179,6 +1179,14 @@ static bool mirror_drained_poll(BlockJob *job) return !!s->in_flight; } +static void mirror_cancel(Job *job) +{ + MirrorBlockJob *s = container_of(job, MirrorBlockJob, common.job); + BlockDriverState *target = blk_bs(s->target); + + bdrv_cancel_in_flight(target); +} + static const BlockJobDriver mirror_job_driver = { .job_driver = { .instance_size = sizeof(MirrorBlockJob), @@ -1190,6 +1198,7 @@ static const BlockJobDriver mirror_job_driver = { .abort = mirror_abort, .pause = mirror_pause, .complete = mirror_complete, + .cancel = mirror_cancel, }, .drained_poll = mirror_drained_poll, }; From patchwork Fri Feb 5 16:37:16 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: 12070429 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.7 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,URIBL_BLOCKED,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 11F0BC433E0 for ; Fri, 5 Feb 2021 16:40:19 +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 8D53F64E2E for ; Fri, 5 Feb 2021 16:40:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8D53F64E2E 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]:45100 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l849Z-00031g-Al for qemu-devel@archiver.kernel.org; Fri, 05 Feb 2021 11:40:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40446) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l847F-00008X-Vi; Fri, 05 Feb 2021 11:37:54 -0500 Received: from mail-eopbgr20092.outbound.protection.outlook.com ([40.107.2.92]:26183 helo=EUR02-VE1-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 1l847E-0002Vt-0Z; Fri, 05 Feb 2021 11:37:53 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Sp67XcGQ9+fev5zVevM7v2vy7SnG/w0vslbaDBnHeRNaR/MnS8ngv3xE3Y3BFLYRiJoqEyZuKeol7d04eUiAwwcdNduSZN1KDxUt5Y9tIn+krk/tOa1Pmdbe5JJhYVix2ZKnfnm0ntyRX4/K15+b/ZeRo4wVjdWpHgGaRLPcqlAoiGQHpk/WK8t0vGfyqLdp7mn3E7YDC94968GxN/HN49ody6nOpM4JIOPUQI5uPx4hpN6Dj2IP2OVdlBgIhgVvtznOUBnKazq7poaiDYxTcuYjKpQmlP6bbwH6vRTe17VuEOw9kL+y7wXLxTN00WcdecMjj7I29k4r+vAfl4bCAQ== 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=51y7D3MhEC9G0aDfAeaSFXFETfOB0ad+Y2fHOJTk8D8=; b=Fghl2FSxL3OFw8K4YaTMQl/5vlcSneyYRUQgdlfY7HCbYQ55PP/frKyOJL5GerA2GdYBK/5JqQutWwkhqQmgMCd/8e6foBnyPCdvKNuhDhGF71l5Iz2nauK6Uc8bSC6Lav8dyyDsbHtaXXSg/sPsxHcV+4QJFGE/o81/D3dx4B7VPAvLVjCcpRF/yBGdthY+FpKsKfftRVNb1PfMaP8smmFODPtP19916EbNpTx+ttkz68M0S4JYGNs+tO6JZ39wXvu6kEAru5zhHAQdb3AE/KA+Wwpr3pcisb2ktw9teXpua2DJ2XJBcy5ag722WHYbFdBGug0HY/Yf71uN15B7NA== 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=51y7D3MhEC9G0aDfAeaSFXFETfOB0ad+Y2fHOJTk8D8=; b=YICVUPYtriegvfqX60LvEu92nOQYr8w4v8FMk9cQihm7DVJMMyu+OPGO05S5q/oPnLSrAJI9t9DTs4rfFBlSBPu5XVYRoG8DU5/p1PVyZ9OHJm9hDRUTLn7prs+T+A+A8VuajMEkXXontaQ+cjysby3c1r1aWy0aHwJ53dCkzb0= 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 AM6PR08MB4470.eurprd08.prod.outlook.com (2603:10a6:20b:b5::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.19; Fri, 5 Feb 2021 16:37:39 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Fri, 5 Feb 2021 16:37:39 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, eblake@redhat.com, fam@euphon.net, stefanha@redhat.com, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com, den@openvz.org Subject: [PATCH v2 06/10] iotests/264: move to python unittest Date: Fri, 5 Feb 2021 19:37:16 +0300 Message-Id: <20210205163720.887197-7-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210205163720.887197-1-vsementsov@virtuozzo.com> References: <20210205163720.887197-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.213] X-ClientProxiedBy: AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.213) by AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.21 via Frontend Transport; Fri, 5 Feb 2021 16:37:38 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5660bf7e-9e43-4950-c903-08d8c9f459d0 X-MS-TrafficTypeDiagnostic: AM6PR08MB4470: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3044; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: O4cazu5DpPF48mn85c0Png+WNCy7OjBGVXuSHUpH5r+hRzuqhNB+PEHL9PDUgKgd7GWKy9Z4jTajmUVnRAigqvcvWVpDl2stIeYVMEmyURuGXtnCZrj9xE3wOTezQCCa7nVgXR37IurO1YMN6Akfb3LTpYroFZxAFPIrOmEIEefjSBZ2ugCVViw80/qHf1TM7j1gtwucZgWbOOb13AgBlJM3grp267RFd+x7Oi5ZgnrBQ4yXqxprP2/WkxdjANi8h3VPrloXe3Z/XC6XtDTJuM0XZq/10qmyIPAmkfg14wNNiXnullW1Z/u5uDnCOHDUyYWlLYFBJBIH7TjmRlJhCMnmQbKqxUS+GDM0ppKiXklTAdho0r97HFvVnKrenF746pAO7wqW5AZ9wkHel1fjUkBnRzdOWNoqClmiaDf/9RIdl/r1sez6ybc+Yq/SsSW8gp85q70ZkKbwrsRFiyN/KHkLFOt4jVDPXB2D0JdmeTiTUfy8Eol9FlIjiSSc//2YnNCUUiPK87OCOHFltD8oradNegkHYqihQB89sYXwMXscrdYNdzUrWmtg6AX3MvIyxMxF+HC8ZuYQRL0i46UU9g== 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)(136003)(346002)(376002)(366004)(396003)(39840400004)(6916009)(4326008)(6506007)(478600001)(86362001)(66556008)(66476007)(8676002)(316002)(66946007)(107886003)(6486002)(83380400001)(36756003)(6512007)(956004)(2616005)(8936002)(26005)(5660300002)(52116002)(6666004)(186003)(2906002)(16526019)(1076003)(33290500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: HHg8+G1E/4oqHfHLqGojdQZOC+GeJnflZV81WHbwVUFbb8OEJNt0ky/PdyCWNACc/asyHcuilgor5BTB+7kdil5WUI+RExmxCbu/JGEL6YysyfAUCFlRDuT/I+6uXryU9n+zFNdZKEtuBrUf7Hw374O8iP5NCRlWpLEnLW4QC8bvVnn6RxE7FBLt6JQ+KJMSj0IVj/L0w5DLRwOTLO9UMIH+SNoBu1A7aoyRzJ6PhvnJ+w4YBNdB6xSG/6nr+vaWz0hhuaBp9bbyoQgw5IUUZGBwLXban428/puJiFaBE8qOWtXhMJvaUXyADkHeJ6LMFnfk8Glrs3QalHpBicpk/ZpL85c9gt0yTbxYts8PTTF5vuljMPDD+Ba+bYuEGCB+ICJ5kSE7x/ThvV471gwKXKU65YRW2QmkqvZumY60eg1SPVlX/GGZ0h8bo3eXN18tCPjWOZzm6T8AvruCja5UC9IF7R6nl1O5GJ55eP77RTyBJv5+8wS5k6h2jffRhDHvhVoEA4KThR1pV426xwaI6J8XmIkMR1cAvzNRKA4dZPy+GGnghVumrQvnhHcoiIwyaymGEeABT+ODGOpb2dOPjt26ad7+omAxntWTHOgK5vRLBVh44I8UHK697ToQQRGqJ8T6B1gPNZo+1B7CzoOjSF4/DyhV+7Z90XSdbD7//i2i9WBBX5qd5RGcDlQ58fZIzVMVCSHWQFnObECRj404fK+yMNBcHIHL/wVfW3PtCerhm/8osZ07FJU34dUIDlAD1/3N0nqoDI7dd209v9CwXdw3WTUxK1pXbtNvqqk176w6HlAUVzwrBwUsUSPtBzuo2Tz6jJe3QBWcQpxCfaIlMLgrLnwtE3+Ywsmee/3db5SdXmcy4lrRJHdwHTC0C7wqgZ5d2l+O6JBFrS6bu2irIRGQJ4CBlGa7Co9GycVfZcFFw4wKJN7g3QgQeURZE3Sd/tF0APwmxO60LAj+cjWBT8Uzn8Hft+5qwoZ+P8uyNQWZsgcTjnAcGA46jBLDqh4kgg/wrKoDF/tAvlTHvbiZZ/cPAuJHcHSLlkmJ763K0kKoZ5Pnf9ybDwKrvBwPa/Vytyi+3fyzK4M4pFmg37WMpjHJROB6A4XZVRTkviR9KmcNaDnrrub4koyzlJpJPPgCA0c+4piGLKTtXGAkphrAxclX9g1rXISI33lhZU/e7L8q/SfwqXxLNvwDn4z4PzYrsQeD6HHHOaPpv9kDbfsAXoNYBXgrSWEepwq9JBC4xIsw+OymTdc6lUISof7qtBjEQUe354YEa721l2eaz5d1IyrwpqyzFSro81gZAvEI5rLxx/IoFps4MGz6ayoztRFv X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5660bf7e-9e43-4950-c903-08d8c9f459d0 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 16:37:39.1094 (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: mmPfJ/4zKQpjQETNfRKHzFULV+lUt43hRr3Gh5l1SB0weWw3JciA/1OnYmyuzHWBBAceuzHm6iJTwmGcQ1AdL7mEadSfyrOxYkjTUvfR+sM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4470 Received-SPF: pass client-ip=40.107.2.92; envelope-from=vsementsov@virtuozzo.com; helo=EUR02-VE1-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 add more test cases, so use the library supporting test cases. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Eric Blake --- tests/qemu-iotests/264 | 93 ++++++++++++++++++++++---------------- tests/qemu-iotests/264.out | 20 ++------ 2 files changed, 58 insertions(+), 55 deletions(-) diff --git a/tests/qemu-iotests/264 b/tests/qemu-iotests/264 index e725cefd47..6feeaa4056 100755 --- a/tests/qemu-iotests/264 +++ b/tests/qemu-iotests/264 @@ -20,13 +20,10 @@ # import time +import os import iotests -from iotests import qemu_img_create, file_path, qemu_nbd_popen, log - -iotests.script_initialize( - supported_fmts=['qcow2'], -) +from iotests import qemu_img_create, file_path, qemu_nbd_popen disk_a, disk_b, nbd_sock = file_path('disk_a', 'disk_b', 'nbd-sock') nbd_uri = 'nbd+unix:///?socket=' + nbd_sock @@ -34,46 +31,62 @@ size = 5 * 1024 * 1024 wait_limit = 3.0 wait_step = 0.2 -qemu_img_create('-f', iotests.imgfmt, disk_a, str(size)) -qemu_img_create('-f', iotests.imgfmt, disk_b, str(size)) -with qemu_nbd_popen('-k', nbd_sock, '-f', iotests.imgfmt, disk_b): - vm = iotests.VM().add_drive(disk_a) - vm.launch() - vm.hmp_qemu_io('drive0', 'write 0 {}'.format(size)) +class TestNbdReconnect(iotests.QMPTestCase): + def setUp(self): + qemu_img_create('-f', iotests.imgfmt, disk_a, str(size)) + qemu_img_create('-f', iotests.imgfmt, disk_b, str(size)) + self.vm = iotests.VM().add_drive(disk_a) + self.vm.launch() + self.vm.hmp_qemu_io('drive0', 'write 0 {}'.format(size)) + + def tearDown(self): + self.vm.shutdown() + os.remove(disk_a) + os.remove(disk_b) + + def test(self): + with qemu_nbd_popen('-k', nbd_sock, '-f', iotests.imgfmt, disk_b): + result = self.vm.qmp('blockdev-add', + **{'node_name': 'backup0', + 'driver': 'raw', + 'file': {'driver': 'nbd', + 'server': {'type': 'unix', + 'path': nbd_sock}, + 'reconnect-delay': 10}}) + self.assert_qmp(result, 'return', {}) + result = self.vm.qmp('blockdev-backup', device='drive0', + sync='full', target='backup0', + speed=(1 * 1024 * 1024)) + self.assert_qmp(result, 'return', {}) + + # Wait for some progress + t = 0.0 + while t < wait_limit: + jobs = self.vm.qmp('query-block-jobs')['return'] + if jobs and jobs[0]['offset'] > 0: + break + time.sleep(wait_step) + t += wait_step - vm.qmp_log('blockdev-add', filters=[iotests.filter_qmp_testfiles], - **{'node_name': 'backup0', - 'driver': 'raw', - 'file': {'driver': 'nbd', - 'server': {'type': 'unix', 'path': nbd_sock}, - 'reconnect-delay': 10}}) - vm.qmp_log('blockdev-backup', device='drive0', sync='full', - target='backup0', speed=(1 * 1024 * 1024)) + self.assertTrue(jobs and jobs[0]['offset'] > 0) # job started - # Wait for some progress - t = 0.0 - while t < wait_limit: - jobs = vm.qmp('query-block-jobs')['return'] - if jobs and jobs[0]['offset'] > 0: - break - time.sleep(wait_step) - t += wait_step + jobs = self.vm.qmp('query-block-jobs')['return'] + # Check that job is still in progress + self.assertTrue(jobs and jobs[0]['offset'] < jobs[0]['len']) - if jobs and jobs[0]['offset'] > 0: - log('Backup job is started') + result = self.vm.qmp('block-job-set-speed', device='drive0', speed=0) + self.assert_qmp(result, 'return', {}) -jobs = vm.qmp('query-block-jobs')['return'] -if jobs and jobs[0]['offset'] < jobs[0]['len']: - log('Backup job is still in progress') + # Emulate server down time for 1 second + time.sleep(1) -vm.qmp_log('block-job-set-speed', device='drive0', speed=0) + with qemu_nbd_popen('-k', nbd_sock, '-f', iotests.imgfmt, disk_b): + e = self.vm.event_wait('BLOCK_JOB_COMPLETED') + self.assertEqual(e['data']['offset'], size) + result = self.vm.qmp('blockdev-del', node_name='backup0') + self.assert_qmp(result, 'return', {}) -# Emulate server down time for 1 second -time.sleep(1) -with qemu_nbd_popen('-k', nbd_sock, '-f', iotests.imgfmt, disk_b): - e = vm.event_wait('BLOCK_JOB_COMPLETED') - log('Backup completed: {}'.format(e['data']['offset'])) - vm.qmp_log('blockdev-del', node_name='backup0') - vm.shutdown() +if __name__ == '__main__': + iotests.main(supported_fmts=['qcow2']) diff --git a/tests/qemu-iotests/264.out b/tests/qemu-iotests/264.out index c45b1e81ef..ae1213e6f8 100644 --- a/tests/qemu-iotests/264.out +++ b/tests/qemu-iotests/264.out @@ -1,15 +1,5 @@ -Start NBD server -{"execute": "blockdev-add", "arguments": {"driver": "raw", "file": {"driver": "nbd", "reconnect-delay": 10, "server": {"path": "TEST_DIR/PID-nbd-sock", "type": "unix"}}, "node-name": "backup0"}} -{"return": {}} -{"execute": "blockdev-backup", "arguments": {"device": "drive0", "speed": 1048576, "sync": "full", "target": "backup0"}} -{"return": {}} -Backup job is started -Kill NBD server -Backup job is still in progress -{"execute": "block-job-set-speed", "arguments": {"device": "drive0", "speed": 0}} -{"return": {}} -Start NBD server -Backup completed: 5242880 -{"execute": "blockdev-del", "arguments": {"node-name": "backup0"}} -{"return": {}} -Kill NBD server +. +---------------------------------------------------------------------- +Ran 1 tests + +OK From patchwork Fri Feb 5 16:37:17 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: 12070457 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.7 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,URIBL_BLOCKED,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 4ABFBC433DB for ; Fri, 5 Feb 2021 16:55:03 +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 BB3C364F06 for ; Fri, 5 Feb 2021 16:55:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BB3C364F06 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]:45352 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l84Np-0008Vl-N0 for qemu-devel@archiver.kernel.org; Fri, 05 Feb 2021 11:55:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40472) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l847J-0000IZ-QR; Fri, 05 Feb 2021 11:37:57 -0500 Received: from mail-eopbgr00136.outbound.protection.outlook.com ([40.107.0.136]:22969 helo=EUR02-AM5-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 1l847F-0002Zv-OH; Fri, 05 Feb 2021 11:37:57 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IQvtVZphA5ENmrRQecmRdcd1hEfYdTDqqSZLcwKZwYF6R/aLoWXSyup9M4rMH79Y9OfDgulh5lN8gPSe4oJDS0FjaG9CTtu0CpqJfRmx7NfijFDnG7btSuDKMAFdXUOJ8AW88QIDv10pDD3YPij6hexAn28Qx/TFTQsiw9P8wUee6Jz0tij+Di0B9mmw1Q8kKkJ5KCGCyWUa1rDDIcedmdEzEzlyfjdK5ibVmK66Mf2zO9mlmDXY7LjLGA+VpTzQtV0+szPuUCe0aNG7sla6RIi8DuHZ3hkSawCRl4k2SyuFrTo0XSKLG3HAT+dm6Vg9PGoJY4FWiM1Tm6ZtPJA1qg== 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=XJUdfBGyU7LevzV7n1dMsxlyDxdF3wsznHH7/FTMJLs=; b=C5KiqMXUw4pfovuy46lf4VNKfOQJVqDozhhVwQu1oIRzKGksYixJa1KYVzs8h2k/q46XyvGP63Pw9R7dntmeGL/zVcsLiWUkcm/PgWjULq1WdZ8mqrHrgFQjJvHl4CIFLfx36pCynJQMjR7S7NM9yXVWENn0xg/nMmoXXxyWvnTKmsymnUyTk/C3jotyJKi75pGVq6+sz33lya4lanXxCgWik3UqzaRblCCUYPAaT2XNIRu5ZBue0HNti7gfqbNOejDEfHEGysux6PlcfEkJ2kJOSr9wUlfWnZClruVeT9C93ugTKp+orAtS1FAzlHI5gb34UurpWOH5xz7W/6Q8QA== 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=XJUdfBGyU7LevzV7n1dMsxlyDxdF3wsznHH7/FTMJLs=; b=bWMceSrDXp55DIEUxHiWoGnjShjvSNlN86BFlTYKzsaicr3mGR4FGk6Crh2e4a1Su9Bk2oSVQ6D4UISLmK+r8tAwF/pKvsw+2bYQuARqSMnH+2F2YBl/v170ncpHWaxYhioPD5/g/pL2Ev374eJHhIoKOZb1F/1P+1sTnW17/kQ= 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 AM6PR08MB4470.eurprd08.prod.outlook.com (2603:10a6:20b:b5::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.19; Fri, 5 Feb 2021 16:37:40 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Fri, 5 Feb 2021 16:37:40 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, eblake@redhat.com, fam@euphon.net, stefanha@redhat.com, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com, den@openvz.org Subject: [PATCH v2 07/10] iotests.py: qemu_nbd_popen: remove pid file after use Date: Fri, 5 Feb 2021 19:37:17 +0300 Message-Id: <20210205163720.887197-8-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210205163720.887197-1-vsementsov@virtuozzo.com> References: <20210205163720.887197-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.213] X-ClientProxiedBy: AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.213) by AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.21 via Frontend Transport; Fri, 5 Feb 2021 16:37:39 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2b8a3c17-accc-4c8e-c386-08d8c9f45a94 X-MS-TrafficTypeDiagnostic: AM6PR08MB4470: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:111; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: acatd9j1JXIM19DQ+nSl3glFvYBGi9SBorLjEKARDZdP8btPwFnzeFPJIU5KOzHP/Wf3o4+oC65v9pLsUUFYmD2NElVKNqFHDSzzCiA7CGmWaIU6eVLacLyFfZtR08UTPNUN7uP/8x4BT9hMab2j53Tm2Q5GvCz9MfYpErYA33y9H3xWmX1EaavDMVaGXwnf3p1s7QnN1w5EmH0CXj1fImJv33Xdo9M7ZOclYjy9EfXCl4JmyM6Wjo4s85LzeuScw5EWoi/Yc2YCD2YiwlvRBeykNWB52qct08hAgStjl6tQSMzEWzgkGBGeE81mU24MB1oxkiRv/qFZZ23gVg8eduEDt2yKCe2rg3m47mNiy16FP4JS+e51vkoPQcpzkz60brHhQiJWbKrpw+iHjHsjWnGPYVWS5rUAgSQ7T3pfuFMB3KE5SzZXRgEPCKsvobbvOoixBdoiuBovL+Gwji4ggGHDqHVUMhi6ql9+bvq3GpNIZ/AS5utdk7NCAAjUi/BCfumDKAh4RYJlYgVhJKZInQ== 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)(136003)(346002)(376002)(366004)(396003)(39840400004)(6916009)(4326008)(6506007)(478600001)(86362001)(66556008)(66476007)(8676002)(316002)(66946007)(107886003)(6486002)(83380400001)(36756003)(6512007)(956004)(2616005)(8936002)(26005)(5660300002)(52116002)(6666004)(186003)(2906002)(16526019)(1076003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: H6irgUYWyVZIMvESEz9YkVBZQDK+6ql10R9YdHnW/HlH7uOS/L2l7/fDnMWi3wDQooSv0MCz4Zi1OKsQhDGubR/ROhMhsGEwhHjbV4E5q30SXxTSQsj/zjEMa18Dmllnes16fpSlQBVFd1u7TY0lOt8aXbW49x0b3LedzDdWkvDOo/C76V37LpTRQbByHVcEshOSkFV1gocrz9NjyzBAMkV5lGrzXgT2Rjb+HiFns2dTznMVkQlCc1m1q5bG7+c0twXEqt8tTLsIcy4Fl+ZF8UC0r8vvE+0OpiPQ67LjWMawbT8NwCFix+4EGw/gnaP97tOsTuMkEHl5PM/ANFKWNh2utTvM7lEghQJO+RxzoopBtrDVe5eeQFWstzWSjdD3ku7adHfF63GVy2dj77lUDcjMSyCUPfYpI0uy7CW5Bl0c3AXzX9Kbfgc0Z3br2nVw7cyvq+acsNf+9752KBMlTrpqa9D1BgaWeznudTLP+A4X5Z/p6nWLxoXX+1xOZ5FB54d38+kG+5jyBg9oU9y0JxC56FqQwq21d8QePFT0M8laRm32gWFJ+Kv50Ngho9MNy6SxVNfmkBijVy46/iC5RCJDPrIwN0EWlAsqxlOFmzQRDOr4Imwh68xh4PxHDV1yS+bkFFHk+N5VAko3f1knQhSuS2UK416eXZAac/pDl802hzBCzoADjNThzAUQTiEm7iZWdNeYP3ZTzwQ4b6OsiOV0ROFpiPbBoxcCPzCFTYlCv40ooxhpjBsHZNErIvuhfUkG2GlWJbsonY1opYTm0qnFX2V+m/zEOu/tZm1Ibsj7DCHIm/W+fvAvVqtKPn2PiDsXQUF4ZtXEj6TyT+8B014LTYFja/UNV46dze3APLKpa7wv9R8/iDYzLMR0f3Z4ZGjhDT2dQpSl9bsEoRTPBR3tnEARfZwW+G/cRhj3mu5oHTmomRuvg8piFHi23wmTAhQqIEzwaZAtk78FUjjkt38Ha5qYgQPT4RmIeXqlnJXm60U3nIqu2tBLM3/l6AyTVHjE5hAXEknghn10OzCnqKPdI7aIOPeF7JFray0lEwnIfW/6ok7U21hdh8hoZd667vbH2Oq6qce2/AVHIVxhjUyCFZkxi49SYLVebOr4LduYoYjDCUZ3073y9DeHAyBPq6MPuK9qdIs8vwBirIFAD+bvUUbhUJNIarMUcqbhtCMy6bxwUPz1ynNB6jzcucjWJhbg6qCFD0D9nM72ERWYbMOtOjQiye80wg+Yel/GR0/mGFtuUxu0lqnqhOo53Nu+kNFi1IWq6ews2xwTMfC+krmaQzxUG70TyKZW7QHRIxKvmTQONRjusldH3UQhy0Nr X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2b8a3c17-accc-4c8e-c386-08d8c9f45a94 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 16:37:40.3221 (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: bd6+/MAUXEgS4mxuyzG9yjY1PYcAXlGEgeIra6kUTweaSTJz+I+ygk8WDF9+5BOTXbb9mRp1ei6k+C6JPiskq7KjMDD6yGgnWroAFs4SCbA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4470 Received-SPF: pass client-ip=40.107.0.136; envelope-from=vsementsov@virtuozzo.com; helo=EUR02-AM5-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" To not interfere with other qemu_nbd_popen() calls in same test. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Eric Blake --- tests/qemu-iotests/iotests.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index 00be68eca3..4e758308f2 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -296,7 +296,9 @@ def qemu_nbd_list_log(*args: str) -> str: @contextmanager def qemu_nbd_popen(*args): '''Context manager running qemu-nbd within the context''' - pid_file = file_path("pid") + pid_file = file_path("qemu_nbd_popen-nbd-pid-file") + + assert not os.path.exists(pid_file) cmd = list(qemu_nbd_args) cmd.extend(('--persistent', '--pid-file', pid_file)) @@ -314,6 +316,8 @@ def qemu_nbd_popen(*args): time.sleep(0.01) yield finally: + if os.path.exists(pid_file): + os.remove(pid_file) log('Kill NBD server') p.kill() p.wait() From patchwork Fri Feb 5 16:37:18 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: 12070449 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.7 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,URIBL_BLOCKED,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 A25E6C433DB for ; Fri, 5 Feb 2021 16:51:24 +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 DAB4864F08 for ; Fri, 5 Feb 2021 16:51:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DAB4864F08 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]:39154 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l84KI-0005J4-O8 for qemu-devel@archiver.kernel.org; Fri, 05 Feb 2021 11:51:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40468) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l847I-0000Ff-JK; Fri, 05 Feb 2021 11:37:56 -0500 Received: from mail-eopbgr20092.outbound.protection.outlook.com ([40.107.2.92]:26183 helo=EUR02-VE1-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 1l847G-0002Vt-L3; Fri, 05 Feb 2021 11:37:56 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AvrRRCG1D7ddv00IHs9IxFql37JRT+xYNaZ2jtkmcR3KNEZfOKCL4YYuaPNaiE34ob6PQn5fpLMSdIExFzUnexcoNSbJ31MfW5ErTZcgcEIImORCv9Jwd/6DcZcYBBj3XmW0iI9r+SocSYjKu8Iz/b1snSp9jxeImyIVF2vuPDvh+h/fg3G0RRCIdMTdSh0JChEcRScugbMLNCajp2qp8m1Au5xeaxg6Js45mcAOB6RZvB4Ak/9P38b+m1c0sB0TG53xkgHNoqNamWJ0QSIli5hzRfCPl8IllaMEK9xj7ZiNdaB9ZQXWsi7eA7PgBoX41csMj+n2nf2F0M7DKE2K1g== 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=CiAs6Q61dv4GsiuNiyIaP2ALz3noiqbE7Te+bccjlCo=; b=jRQsPn5P7IxFPHFlJgd6IZQzFUjuyvUMS0ZUu2RBVY92T0CypWe3PegwgI3l2YmMCjTvB8GOBjiVu0WYEAg2u/VSEcoEoYVvVTDS79827Knc78KpsOAtf/i2LhLkZN+BRQhVhPTGyJWL/8WNjINO8AiHF+NEnxCBtFrXtbrnAE3sHVdkiZJ/uBFin005z8B9Bs/aFiA4ft3oaiBuDjD5q1n18L3hO6X2amTv6y9R72v+TeIusJLwauppc/PatbeQD4oSwXY2kpETEg0La1+pRttfqBPw6m0IQR4vs/BRrnvH5XhON5z6HmJWg98sYWWqtzD818zrppYJrnvlv0SXow== 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=CiAs6Q61dv4GsiuNiyIaP2ALz3noiqbE7Te+bccjlCo=; b=CSQ9G3fFSOO8egXeqGYzd6Jz3SNqINdYAeqW2NXMrlgo3K+eULtXclzouUOx2M6VXzMH+nUJkXYFKjxJPRlL3jXqMRWclVagkUEVf6zcRRXdE+XwDOpDvm4EvMYmWrQXtXaKuXHS4lHIliVQ7IcwF1sgszrt8ETJXzrThntsjLI= 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 AM6PR08MB4470.eurprd08.prod.outlook.com (2603:10a6:20b:b5::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.19; Fri, 5 Feb 2021 16:37:41 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Fri, 5 Feb 2021 16:37:41 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, eblake@redhat.com, fam@euphon.net, stefanha@redhat.com, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com, den@openvz.org Subject: [PATCH v2 08/10] iotests/264: add mirror-cancel test-case Date: Fri, 5 Feb 2021 19:37:18 +0300 Message-Id: <20210205163720.887197-9-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210205163720.887197-1-vsementsov@virtuozzo.com> References: <20210205163720.887197-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.213] X-ClientProxiedBy: AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.213) by AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.21 via Frontend Transport; Fri, 5 Feb 2021 16:37:40 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8bd594fc-b40a-4f97-e022-08d8c9f45b2f X-MS-TrafficTypeDiagnostic: AM6PR08MB4470: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:172; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VmljLuD4GjqKrQoPYBIekOCJG+PsoTH8MDYbbz6NRlMeeSvhBfEjRlvfWvuiy2Vb0Lyd4h9VKeQ2XHIjSDtDjxuEInJnWgfgK1pHxOjkv50fqQi9jdzL1gB5ohFpGgbpjaCjFN1zMygeEXkb+3KIkPN3D/4evoCpbc5XfIOaueN+JCb72vC1OX68Isvtdr8k4Yr72z6mDCGUgnLyPPGq4x1v6uj9WORZsX5NiAqhOjcjNyZBzN3WZViKhqMKWsVyQTQNRvxVS2OsuCpkl9i1Y74YgjWwJEgk9/AOfoYVZicbBo1yLnz0I3buaX3R3IaK+xxKBE9ilhW8MGB5L0Xwg3RkPBb1OIRBxgpuhQjXM6jBU88qLFNTIDPAlkAQzWARoNZfQqe1mRJH6oW6uMVxnfEOXounK58EFi4lFo37xkUfs2eeMyK2b/sc0IDCqGUYkflx8U+MOQwYOPeSOAU/DgLRdBDst6PdpZFOptTT++3WSgbBxcblpxin8mTOmw+64LBrH1qVFq4UHcdV/MTOAt23fJWS98boauzB/cqWtJkVtdQNX8pjdtIDBLygaF8LMMLcxmKPyYwDVfOGTx8h3Q== 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)(136003)(346002)(376002)(366004)(396003)(39840400004)(6916009)(4326008)(6506007)(478600001)(86362001)(66556008)(66476007)(8676002)(316002)(66946007)(107886003)(6486002)(83380400001)(36756003)(6512007)(956004)(2616005)(8936002)(26005)(5660300002)(52116002)(6666004)(186003)(2906002)(16526019)(1076003)(33290500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: zEwLGCwUOONH5qI+c+XYUHxnkU1jaVN4tHbEyxc9E/p1i72s1d3zW7xZuoKJOd8JYkgYovLVk6Mb18A5izDGe4uVpO6dTDVwqIt+Zyjupu++pyeDhlh1s1KYodDZ+tru/cuH3OFqJJLHxnSRupJMO+x8CtYs5w3GFMeIykgI4Y9YGA08JI4BiFnXkyG7iAcG+P8Yrws/HYO8c83XCfz6GRczbHCL0HJtlsD9burBTiV9COU9Gykvlgqy89/GMI/tBYw5lX7gTEFieTmQ/AiC6ydh7nKzHVsshL/MoT/6xq7oJYfflD7xp1b0Va0kVpJBLQ2acqGnbJ/Nd5VYcwru0y2f0gKsEsotw4qyqBwReV980zrh05sCj+/oejhqgP/yzaKI3Q5qfsrXhOwGGTG3JRLfJf4Llxn1nQBIWKZiLccbcU45YLXpEtvxDBbdffXnj0CFbifLmA4aV8Bk61cNsIxPCLpVwUzazY0Ip+plXVp84d8QNWTcU/N60DGal57YY1QS01RNSvs+oKZiUs05DNY+qZpcYCEPNCVXR1PlUQ0hRXpgtQWDjXgNPkNkFHmY+85Z5nhqb62fNMcyhjAiT1TZCBR8IePYo9fDr4+mE/hYvnXnKghGFbvwQHInbApd9bWn/791yJUdtuLZNMxlmGM1qv1IQGrQuTowT3ds85mL0WMumhs701Xv3YGlF5UioVMVMXdHzM1sEM78uvuYhh1+rFotDBdms9bEMydqdJ20iettNvy0NUX2IpQpKFyaUd8cE7L4hrNsWagXj492Bm0n2B0LlyBNQE/E3/E6yRLYSrMwF+A5SKD5n/jqMhKVexYJY/fupxEiw0+5P3Xh3zcEIO5+/kRZ5Q+YIGGkSg8ZIcnQqofELh4A0owT/p4L7Jaw+XoUDHPyQjVjI8VQPSbX3L+7bG5WcTts+jCfHmkKVU8UkywB14lSdf9oMlpaUwT/4LQsN+1sFPuSURwe06wWlejOLoBX7ekN/LlLX9BpDyDwHl6EkZFvsX18kO4f1BY6LAtkyejLp6QyYmO1hRC/xcoB/0elPs94Yq+1TIv9Jbalbow/m4FvV39sLp+pVo0ISJlA8pB1yRRm+t5SJuxg4lXNWvQD4TN4B74lFiP4PN9KItLV8pRQ9C7lD0bx9Mz2hlEte1pkr5RARvcCR8XVf1bcvwLraoePgd+N040ZJsW7xH4R7ebXVe5fj06Y8eNjHECP9+O8WsyY2aSS8aUd92PxaeHs3+20XVF2wM+wLRSiyW1j/vFZyIIiqb7wVEX3xU9ztZrClmL7NBUyBP+GHq3z2gvo9LPpiUC3Um2u/NTcWpodBAxHJAAKRbJh X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8bd594fc-b40a-4f97-e022-08d8c9f45b2f X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 16:37:41.3595 (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: u2LvKak20Q5XV4G3p8jngyuOhZlwgqH2tTo/ADq+23vuGOII2c8H5GN6VXomYqeEu3LCJc2ppXWKh+N8hW6FC8zj2F2rcYOlhaXhcJ8DKyI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4470 Received-SPF: pass client-ip=40.107.2.92; envelope-from=vsementsov@virtuozzo.com; helo=EUR02-VE1-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" Check that cancel doesn't wait for 10s of nbd reconnect timeout. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Eric Blake --- tests/qemu-iotests/264 | 38 ++++++++++++++++++++++++++++++-------- tests/qemu-iotests/264.out | 4 ++-- 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/tests/qemu-iotests/264 b/tests/qemu-iotests/264 index 6feeaa4056..347e53add5 100755 --- a/tests/qemu-iotests/264 +++ b/tests/qemu-iotests/264 @@ -27,25 +27,26 @@ from iotests import qemu_img_create, file_path, qemu_nbd_popen disk_a, disk_b, nbd_sock = file_path('disk_a', 'disk_b', 'nbd-sock') nbd_uri = 'nbd+unix:///?socket=' + nbd_sock -size = 5 * 1024 * 1024 wait_limit = 3.0 wait_step = 0.2 class TestNbdReconnect(iotests.QMPTestCase): - def setUp(self): - qemu_img_create('-f', iotests.imgfmt, disk_a, str(size)) - qemu_img_create('-f', iotests.imgfmt, disk_b, str(size)) + def init_vm(self, disk_size): + qemu_img_create('-f', iotests.imgfmt, disk_a, str(disk_size)) + qemu_img_create('-f', iotests.imgfmt, disk_b, str(disk_size)) self.vm = iotests.VM().add_drive(disk_a) self.vm.launch() - self.vm.hmp_qemu_io('drive0', 'write 0 {}'.format(size)) + self.vm.hmp_qemu_io('drive0', 'write 0 {}'.format(disk_size)) def tearDown(self): self.vm.shutdown() os.remove(disk_a) os.remove(disk_b) - def test(self): + def start_job(self, job): + """Stat job with nbd target and kill the server""" + assert job in ('blockdev-backup', 'blockdev-mirror') with qemu_nbd_popen('-k', nbd_sock, '-f', iotests.imgfmt, disk_b): result = self.vm.qmp('blockdev-add', **{'node_name': 'backup0', @@ -55,7 +56,7 @@ class TestNbdReconnect(iotests.QMPTestCase): 'path': nbd_sock}, 'reconnect-delay': 10}}) self.assert_qmp(result, 'return', {}) - result = self.vm.qmp('blockdev-backup', device='drive0', + result = self.vm.qmp(job, device='drive0', sync='full', target='backup0', speed=(1 * 1024 * 1024)) self.assert_qmp(result, 'return', {}) @@ -73,7 +74,8 @@ class TestNbdReconnect(iotests.QMPTestCase): jobs = self.vm.qmp('query-block-jobs')['return'] # Check that job is still in progress - self.assertTrue(jobs and jobs[0]['offset'] < jobs[0]['len']) + self.assertTrue(jobs) + self.assertTrue(jobs[0]['offset'] < jobs[0]['len']) result = self.vm.qmp('block-job-set-speed', device='drive0', speed=0) self.assert_qmp(result, 'return', {}) @@ -81,12 +83,32 @@ class TestNbdReconnect(iotests.QMPTestCase): # Emulate server down time for 1 second time.sleep(1) + def test_backup(self): + size = 5 * 1024 * 1024 + self.init_vm(size) + self.start_job('blockdev-backup') + with qemu_nbd_popen('-k', nbd_sock, '-f', iotests.imgfmt, disk_b): e = self.vm.event_wait('BLOCK_JOB_COMPLETED') self.assertEqual(e['data']['offset'], size) result = self.vm.qmp('blockdev-del', node_name='backup0') self.assert_qmp(result, 'return', {}) + def test_mirror_cancel(self): + # Mirror speed limit doesn't work well enough, it seems that mirror + # will run many parallel requests anyway. MAX_IN_FLIGHT is 16 and + # MAX_IO_BYTES is 1M in mirror.c, so let's use 20M disk. + self.init_vm(20 * 1024 * 1024) + self.start_job('blockdev-mirror') + + result = self.vm.qmp('block-job-cancel', device='drive0') + self.assert_qmp(result, 'return', {}) + + start_t = time.time() + self.vm.event_wait('BLOCK_JOB_CANCELLED') + delta_t = time.time() - start_t + self.assertTrue(delta_t < 2.0) + if __name__ == '__main__': iotests.main(supported_fmts=['qcow2']) diff --git a/tests/qemu-iotests/264.out b/tests/qemu-iotests/264.out index ae1213e6f8..fbc63e62f8 100644 --- a/tests/qemu-iotests/264.out +++ b/tests/qemu-iotests/264.out @@ -1,5 +1,5 @@ -. +.. ---------------------------------------------------------------------- -Ran 1 tests +Ran 2 tests OK From patchwork Fri Feb 5 16:37:19 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: 12070481 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.7 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,URIBL_BLOCKED,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 29C61C433DB for ; Fri, 5 Feb 2021 16:58:23 +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 468E964F1D for ; Fri, 5 Feb 2021 16:58:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 468E964F1D 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]:54088 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l84R3-0003op-6H for qemu-devel@archiver.kernel.org; Fri, 05 Feb 2021 11:58:21 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40482) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l847K-0000LS-U6; Fri, 05 Feb 2021 11:37:58 -0500 Received: from mail-eopbgr20092.outbound.protection.outlook.com ([40.107.2.92]:26183 helo=EUR02-VE1-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 1l847J-0002Vt-B9; Fri, 05 Feb 2021 11:37:58 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PGnMlsgR8PGixJeFKx/dnyYvP98YTcIvJ6UWS6UbnTtUP0NC5FsKWtZOKOzoelc+KbTOqmCIpl3TPMMLZF20EUCoDU3yRuGMi7Rmucn7rj677wwV/BnIPmOk8t+w7VuBqAcNrkbzT94noIoSHJeLvAg2dNxP94pmyeEMjBndY5cOvUU07FI9eFfb0Et7hQvKvuhmtSU4N5A9WP7xd4p7owlbedH5uIoZkgKVyqpuNF/afyhjNp9m7s1f0SGljBYlDwyI2eLva7NhJf63JbCMhEVKrbmDB0+yJyRZUKbSzG2wg6cEz/lMGRpl51NFo5HEO8LKer8jh/zUrR5rjVXC0A== 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=W1eyboCeXTVqy6bsBtG2nRayt+GJxsFAmQotxqYVm/0=; b=Yv7h6mPyGqi7wBxeDqgTPWB2QuVU/vJ5L+1sPW6PC6DqWIkF3PiEMv8E2knsb37MnC/KkoXfHIlXNbtB41dnlC1qnij5gGfY2+b1xj0LYK+DlXFZO30IBgyfTEiPk3ZDq/IuB4NfqYRSEOi5Q/X2upeTsuBlRIhT/67LBvk4skSpVprKsVQg1X3x1iZlHU/J/ZU9YR+kgzmGutEXYDcGLHL9pXd7hY1GIUHP7U+iUdZrlz6xl07Z6I35p6eR9dfRqEtq8xwL5cDxN7zlrzEUvhP2NwViczpTkcr+KONtU8Kzz5sxtqfZf83qWCQmG/CgZR+nxmsQtKoH4qsFoz5Z8Q== 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=W1eyboCeXTVqy6bsBtG2nRayt+GJxsFAmQotxqYVm/0=; b=pZaAPpjttrwGZjL5dLrOGujHkSpYx+HplakM+t2FZ69t6xmAcfwiQU5jzYCktyCqTEpn/VEmZY/V5LRJ3znPKOHvhudDsjGafGbk1B0hi6RzdEKOOoPrBaY7QX9maj6lJqidK1FDbvnAWAcH9EYNG6faLFY6bzkG/W39x55JjVM= 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 AM6PR08MB4470.eurprd08.prod.outlook.com (2603:10a6:20b:b5::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.19; Fri, 5 Feb 2021 16:37:42 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Fri, 5 Feb 2021 16:37:42 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, eblake@redhat.com, fam@euphon.net, stefanha@redhat.com, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com, den@openvz.org Subject: [PATCH v2 09/10] block/backup: implement .cancel job handler Date: Fri, 5 Feb 2021 19:37:19 +0300 Message-Id: <20210205163720.887197-10-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210205163720.887197-1-vsementsov@virtuozzo.com> References: <20210205163720.887197-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.213] X-ClientProxiedBy: AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.213) by AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.21 via Frontend Transport; Fri, 5 Feb 2021 16:37:41 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6c6ffa23-fcf7-4091-d261-08d8c9f45bc5 X-MS-TrafficTypeDiagnostic: AM6PR08MB4470: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:514; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TduRE37CLsau7u696gWkblMrFYap5Ig3ipw1syafBRD3reCVxE2VnXB0xbSJrLSLG7NzS3thFLddOcSlHMGrkrBDYZLcCcjhgY6mjtKCEXTJQStnU1MxQFmSXocaL0/ZDJkuxMzAxmnnNarxuQA3MVjDzFxXehO+Cj0ouQgiNxSQFmH8to4mmQHIYACEb719cyHPPLtbJUp1za8nlwYUgDqLey2ylv+Ar3u1ELcZXQo1OEfr6FADiyTbMsD6ti5vYfz/IFJADf6/1eyVcjFK2aNTWxIG/e/oGp14u44z9TpULP0g4F9kJtoWRFUJZL9K/EFh1nSGFtoGKn+hPlcH1LPE2eO21r7QOXabZQ9l7+mkLp9vyc+wnsE/gaPpdAbN3AX402ZoxN6b3+a5nV7P2ZxgfEo4gGyozYsXsKYRzd8acYVEOTJEj7PfGy5ljmjjV/73j0Jp8DudJf/AUcsQIzr1jtaSL6v5Xng4vtSB3D9pP6B2n2nE7rSMFx4Jg9TcIcZ+54FZtHjVOHQ3McNfMfV6+Fam+kNxyxl833xPH3tSeD3NYFaKdMt4UXqH12fyqPz74ifxTY8aT1bc4hx6oQ== 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)(136003)(346002)(376002)(366004)(396003)(39840400004)(6916009)(4326008)(6506007)(478600001)(86362001)(66556008)(66476007)(8676002)(316002)(66946007)(107886003)(6486002)(83380400001)(36756003)(6512007)(956004)(2616005)(8936002)(26005)(5660300002)(52116002)(6666004)(186003)(2906002)(16526019)(1076003)(142923001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: JpupxFhpL693KczEpDY93BecEZ/fe/4B/+rQuahG3bYUR6urOvQKgB1TTmhBGyHqrNCsorh8CJrabtgNG7RwwEodcztn8fbkfKanyMrffvstkX7Um5RuIMRtO8FIzSNzZToOPnQLATBIfI1Xqzs3NDVasfScQxzoaRGPavWQx/4P+Aw5Othrv5EpSmgUPtcliOIkqe2ls7RWOCirxsK2dWmS3BIyvWaEGbwbueZt6CZRglpL/7gUpdSz7iAOi/rAQtXrW011XwFCQIOMOvuRfkCpMKDdCACxIsgWrZcLK4A0BySo5KgPtmzR8Y7YWMvSpxOy/Yttz59E03W2yC07Bo1osA/uwMXT6jTlEfp6TjZN5tpfKugI1FT5GQ8A2ALxLcAfXNy/4RmjnxTo2dcGXiC07m5bvxaGGhL+FDK7gZ0cSNeXoYzEiJvh5UZczjQB0j67ma98mKnu0phBnBk+t6JqzVCspbfEDX9gYHzki8lFX5v10NuVJCZV4iNo5sLYr1mbKjhhwarVuKqZbeelV2uGX9r5k9F/ai5utodI1YVvRAArp06iJeTjuM0WdqpXFJrHDY0kJUH3OBuXa7l8oSH4eaeVcwTha1adCSLkhee0jMS7ohJdFPbauqRq76rgGDWBJjlxwxWqIPtkTgozAyUOuicijSH9SG5m5D0b+JPNg2ME+LQ9keTf0lwZlxPgXsm+NWpgjBGTXjNJ+bYY1n8rNCk9lff/eorteuXA4tZGFtgO47IfGJlImlpPRAH6lTJzFdVJPeh48cENF2DNNJBkk32hVA/FiS/yi+s28wQofV0GZGEqTYdrgw8gVptwDC2UVSPUjxFKbY/kH4A+TJX2TBbqZ2pjcFrjw9+ln/HITuldG3LzdlIBDYQ5a7gf8m5UHlHsy8dlpkVmwCh6Jpo7W1kDnj0J/QtNmuF/NrfobNm2okqLVNmQp6tQe1/4p+85DeyChT317B/FeE52QP4v9tUY7b7BtVM5xFV3UjzKAKPYhsuiXzoYzPb0ZVaXiUMmQMkDJUeLCNeth8gYPif5y2FuhxQVZosLFbJPuI9a4Ao/UZEG88t0sHu49Varzbbfddm+3vk5aaBrHzxkEt3ZfawNApTxMGuzfUHPQXkFOd7GvYDNeXiXGFQQYlLbewP5vY3kTYrofV2O9dETgL+9Ukyqh4CclgiJIagb64qQtnOiityqDnakfSMzoL0fgt87NzjHDpnBPMEUkatl3X3YPI6egip5KRbljXw7/iGa/LdL/QSBBh72+N+TcgqpsaQ9QMUEv9VuhnAOIP019MGbp6i0GcdRQA7Hi3sahHgbhUO1d7n/aR6hrlHxzzBf X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6c6ffa23-fcf7-4091-d261-08d8c9f45bc5 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 16:37:42.4846 (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: flOaxuxQRyp3u7Kqestik5xVHKfqTsxa1Rb3OEcE2NDUZARES6gBmFGFge1/v4Z1+R5kgaSuSFNJgeRTSxDgXAHkoMEREWmElosMZyNTF8k= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4470 Received-SPF: pass client-ip=40.107.2.92; envelope-from=vsementsov@virtuozzo.com; helo=EUR02-VE1-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" Cancel in-flight io on target to not waste the time. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Eric Blake --- block/backup.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/block/backup.c b/block/backup.c index cc525d5544..94e6dcd72e 100644 --- a/block/backup.c +++ b/block/backup.c @@ -35,6 +35,7 @@ typedef struct BackupBlockJob { BlockJob common; BlockDriverState *backup_top; BlockDriverState *source_bs; + BlockDriverState *target_bs; BdrvDirtyBitmap *sync_bitmap; @@ -329,6 +330,13 @@ static void coroutine_fn backup_set_speed(BlockJob *job, int64_t speed) } } +static void backup_cancel(Job *job) +{ + BackupBlockJob *s = container_of(job, BackupBlockJob, common.job); + + bdrv_cancel_in_flight(s->target_bs); +} + static const BlockJobDriver backup_job_driver = { .job_driver = { .instance_size = sizeof(BackupBlockJob), @@ -340,6 +348,7 @@ static const BlockJobDriver backup_job_driver = { .abort = backup_abort, .clean = backup_clean, .pause = backup_pause, + .cancel = backup_cancel, }, .set_speed = backup_set_speed, }; @@ -528,6 +537,7 @@ BlockJob *backup_job_create(const char *job_id, BlockDriverState *bs, job->backup_top = backup_top; job->source_bs = bs; + job->target_bs = target; job->on_source_error = on_source_error; job->on_target_error = on_target_error; job->sync_mode = sync_mode; From patchwork Fri Feb 5 16:37:20 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: 12070443 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.7 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,URIBL_BLOCKED,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 E0B20C433E0 for ; Fri, 5 Feb 2021 16:47:15 +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 6220164EEB for ; Fri, 5 Feb 2021 16:47:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6220164EEB 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]:59124 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l84GI-0001Pf-8o for qemu-devel@archiver.kernel.org; Fri, 05 Feb 2021 11:47:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40388) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l847B-0008Pe-PM; Fri, 05 Feb 2021 11:37:49 -0500 Received: from mail-am6eur05on2129.outbound.protection.outlook.com ([40.107.22.129]:5345 helo=EUR05-AM6-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 1l8478-0002Zz-WA; Fri, 05 Feb 2021 11:37:49 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C5kCtFj3/IrNYx32LuCNRQcM6nayOGmOzSZr5FAlUoqLo89yPB39jDB0ZjgAylJU91VUZtbJUybD9Qu7b6DTiBBXh+meWuk0hV16yzeTUIpaM2IeGBzd1dffW+bXtHIeZOhFjURuNfMp9H8gYiL/chzBMR9F+1fArWlv/qSw3erQSHOM0pnmFAi+YPhezGOROkMZ5SK9hvIWbbUGA7u1Ce7h/wc1T/FNv0FB6tCmf7GevcAQwmTvkkNhIO77BS+WJUQupDQoE4WK+WX+fMYSO6iV8Z9MsfpOVBwTG897cbYggSFQ8fwQXfzjHoljKnIu/Yn2JzWvXStsmuHK8DuyTw== 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=p0FAPQgjroab27p3N2HwWJ6KrUjx30ymQuCvO9s0/pw=; b=daJkz4SCZjp0mvQs09MNhm+VGHjVpIKClQufWR6VwjlRazx8eJ8oMzGYnd++PWrvIzjUvKktb7EN1J/IX9ZGinczkRoHA6IYQ4GC8MICqyS4qPRx0Nt17zvBZJvWSZwYia8WEKr7NpGYc/zSfjo540mRxFffdQOV0JAkO7gg45mBXWXZjBPYb7TwUQ0NLMC69HaK3jnTND6Ml5GuXi3IaPZrRwucrw12AGFrWYXvwCzhG488Q0w01B//gBYp64Jvc9wUllqd2EzltFSIvxsHfJ1CucYcjX1B1WxuncnQDsDMR2R41jCItM5c6iB2v/Z0v6c5SrkBIwdBp5yyandFww== 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=p0FAPQgjroab27p3N2HwWJ6KrUjx30ymQuCvO9s0/pw=; b=BknKBkMnIlAD4hbvbrUvgPSE5Tp0vX4ngXo+CQNgEfpEnTeFZhP6dTTrw0e9iiFRnMd3WQCMDvrlBHQCsykhrekyxenXpQ5oTocFOT28sG0n+Jc0LaXZ0HV9fj8NrhJw5Jo+5XgqLXb2eze5aN/9Vv8nBk78ZdQ8xcCpw9rzJZ0= 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 AS8PR08MB6293.eurprd08.prod.outlook.com (2603:10a6:20b:23e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.19; Fri, 5 Feb 2021 16:37:43 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::f1f0:6610:11f5:5e4a%8]) with mapi id 15.20.3805.028; Fri, 5 Feb 2021 16:37:43 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, eblake@redhat.com, fam@euphon.net, stefanha@redhat.com, mreitz@redhat.com, kwolf@redhat.com, vsementsov@virtuozzo.com, jsnow@redhat.com, den@openvz.org Subject: [PATCH v2 10/10] iotests/264: add backup-cancel test-case Date: Fri, 5 Feb 2021 19:37:20 +0300 Message-Id: <20210205163720.887197-11-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210205163720.887197-1-vsementsov@virtuozzo.com> References: <20210205163720.887197-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.213] X-ClientProxiedBy: AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.213) by AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.21 via Frontend Transport; Fri, 5 Feb 2021 16:37:42 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: af24e4d1-83f0-4b27-470e-08d8c9f45c70 X-MS-TrafficTypeDiagnostic: AS8PR08MB6293: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2582; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xvIBR44seC5Hv9LIGCpZm9/p6ygbWv636ouQRU7tePfPF+iOOfWmWpjf21CKl/ki1hiE0dAyiDaMiBn3nVIicCii2kEMDRYw9PAjUwLS+iSur1/LuD1HRl3pMdxVFMR2jPz0yC4J+EoOibye2mUwZ4ckUqtdokqS0w8mRdfwy6Iwiu0CaTxkMjG0Ap+uh9bM7L5JpQEUwEhmS6xw8aNLpq0bO+wNYFazXgqm3QcDhmlSm9eNA8Tbj1KMm9Tp2ydCLNJTTs1Sn/dfTz4dx32zE93FeTq0HRr3iadxNXgs4vft04yAs9HGsiTzD6M/NgvGu+4PmYG2srQeRotyCk5nShxKkMntaW3Qps11WIoOAi/yiaSpp9wGcM7AN9PAKQqDC3jYq0OQNHFSB+gyz/tGNiNMieHdNfTElUk/YaEGjbqBUHkDMnwIu4WS/7mh+KlfOUgf0WpJw4ztqNWILWiX9bfIq9aTwS20YvLBDz9OTr2fcXvLY1F+KcqvbbWdlo6jrngPCOBcUzlXzsnbWnQKsg== 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)(366004)(39840400004)(396003)(136003)(346002)(376002)(66556008)(86362001)(6916009)(2616005)(83380400001)(8936002)(8676002)(6512007)(186003)(4326008)(107886003)(6486002)(5660300002)(36756003)(26005)(52116002)(478600001)(6506007)(1076003)(66946007)(16526019)(956004)(2906002)(316002)(6666004)(66476007); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: X4pqKRc20Prrjc3nf2gEDJmD+NGxtdVUq8/HF2qcB+h5cpy+UKECd0HX7uB4SqF3DBYG++FvJXWlKKsJGyNwEU5zz+Dd1QXXuwlY0FOzlc3nw0LdTayFQX1/ONNCNrY2AduINLndlmBavs+nJHEzmXVrcc/G1tWKpcWXvi+pJ0bd4Pf3T8kgZK18NQ1oUusLwhTs29V9f/caydGr9ex0lVeVeSRrkD3A89h77Lxj+Rnnc//Lc4Ku/GZ3cfQSeq2ubQ9HUEXMCAFUgru6e60bOq12XPT4JHR+nSo+oSPhraNgsWtyLEF2b8ciAVkrEQe0pH4Td1fyTfnZIxyRtaR06EjTwHrnkLw3xNWLTVgrXkQ0cLrlPhBxAFmQZnO0AFVNQYNRVtNHsRjbw4S4TZFlIB57FVVBkdaT7CAP0z99AL4gb1OXAL60IpO5p8yXlS8L/cYKgEzi/tBq5vG+6AlM8NxH1Bzq7z60mpbJ1MlRNpIJ/WLckdwdSVktBX8z1lft6qg6vl4WhaLWuRGX+Xqjub7W6mVlLkpGY4cdnV8VyPs8CHiqx1Lx4Euiq3DF2uJge9jO9cYXDi84LurBmae5SlVzct9pF3UoV+oxbKUPqhWIjcyqnUdqu5i/LssaJ395ZwOb1LWUWgo10reN4tuIAc8WgK7PYvAwqil07p2Rwi3Dwly7gSueIGA0eXXiHGLoHl6CDaHlWKl6bLnKK8BnO5voC93BZEt8iF5/VucVeGXRXJ6blBHPfna88uaILEtyVYb7wLwYVXalgMe+f18SA82rzndHKWL0p2foApvEv8COc1Aghn7cjuecgJF0HAl/NWUjtD2yrMbPVSTG4362ASSFSxGtf7NdCrmGDojTfaShafLTzlmDFXnNERSPeJ6IpnLH1u1svb5OIoh+nuJHMdIjJMqpeQ0kUs0+OH8cqL4lpqPusraxGrdGbSUTKqmlC8mfrBsw7HXfR+8yh6+OGaQLJpPEmx8Vkxwj9DJy680If3F8m7kETTfmMqUO3/51XwxV2k7wOW2aH8RMvmvYfZB+z7EOfBxQRIukZvSby8yZmpMeqtc9r4+XQm6ShBY4DaPE9Hw9Vw8eYkHKl2xJIWG8EK9C9MoTAqq6yTvuPpLS18wvfwaFRj2R1FaJ+DPkv+yMIxbCcOgkDHDrQBV7ZAR6avsb2K6rysyPJSmqzvdWIcBeBQDBKwcBFbNzmyhg70YK3a7mzAvpM6GCDUSILh2CuvPCork8ntZAB2AauvERd6ZDEKpV4oUhHeCNfDE2kLPhYQRBg8jR0aSUFb0ropS0nM1ou4HoYTsee/3NtPjHnj6t4Na0NLcYr2aGJuvQ X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: af24e4d1-83f0-4b27-470e-08d8c9f45c70 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 16:37:43.5429 (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: 3ivcusC0dE/NNWzU8l7LueWBGwVA/5wgroE3vzsrch53fnTaNRg57Y1p0Gyj7qdgG1FtAEdRE4BxXqlb6VV1OaVsfLXG0LRjgWMK83O0UXY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6293 Received-SPF: pass client-ip=40.107.22.129; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-AM6-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" Check that cancel doesn't wait for 10s of nbd reconnect timeout. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Eric Blake --- tests/qemu-iotests/264 | 21 ++++++++++++++------- tests/qemu-iotests/264.out | 4 ++-- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/tests/qemu-iotests/264 b/tests/qemu-iotests/264 index 347e53add5..4f96825a22 100755 --- a/tests/qemu-iotests/264 +++ b/tests/qemu-iotests/264 @@ -94,13 +94,7 @@ class TestNbdReconnect(iotests.QMPTestCase): result = self.vm.qmp('blockdev-del', node_name='backup0') self.assert_qmp(result, 'return', {}) - def test_mirror_cancel(self): - # Mirror speed limit doesn't work well enough, it seems that mirror - # will run many parallel requests anyway. MAX_IN_FLIGHT is 16 and - # MAX_IO_BYTES is 1M in mirror.c, so let's use 20M disk. - self.init_vm(20 * 1024 * 1024) - self.start_job('blockdev-mirror') - + def cancel_job(self): result = self.vm.qmp('block-job-cancel', device='drive0') self.assert_qmp(result, 'return', {}) @@ -109,6 +103,19 @@ class TestNbdReconnect(iotests.QMPTestCase): delta_t = time.time() - start_t self.assertTrue(delta_t < 2.0) + def test_mirror_cancel(self): + # Mirror speed limit doesn't work well enough, it seems that mirror + # will run many parallel requests anyway. MAX_IN_FLIGHT is 16 and + # MAX_IO_BYTES is 1M in mirror.c, so let's use 20M disk. + self.init_vm(20 * 1024 * 1024) + self.start_job('blockdev-mirror') + self.cancel_job() + + def test_backup_cancel(self): + self.init_vm(5 * 1024 * 1024) + self.start_job('blockdev-backup') + self.cancel_job() + if __name__ == '__main__': iotests.main(supported_fmts=['qcow2']) diff --git a/tests/qemu-iotests/264.out b/tests/qemu-iotests/264.out index fbc63e62f8..8d7e996700 100644 --- a/tests/qemu-iotests/264.out +++ b/tests/qemu-iotests/264.out @@ -1,5 +1,5 @@ -.. +... ---------------------------------------------------------------------- -Ran 2 tests +Ran 3 tests OK