From nobody Sun Feb 8 11:07:05 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1606743906; cv=pass; d=zohomail.com; s=zohoarc; b=W4VzCxPkdaJJwwsVdYmNQW5YAaj4BT12bc5du+VhTmGBL7sV1HYOFTX8TEPUtiXTJIgGRDjK8HKm/aN2N3T8qx0Kbg06pgwVTWchtqtmtxSxuCJjj+GoO2qQfnR8XBtTEkUNd8mCvutHztGQzV77JVJRuxMM7/0ZdjEnhsPj0OM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606743906; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=hMd41hCS7VBMAxKiQjMW7Qi2+STqAzQ/lcI8OTOiO80=; b=ANJrz08R37rLLfNAMs9ItPsq3wVlJxcyfhcGpxTbJaKYvK8R6zGNZ9OeuEbgSX+2LhfBnBkHBteFB+lOmg7c0rdQxFrhza/fUJB0yIOGJluD/9Bs637VGvDOhnUH4Si/SZ+bDAog7rc9vOW0HCOvrjRcajozmI55z7QrxDkMIek= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 160674390626073.09551477241519; Mon, 30 Nov 2020 05:45:06 -0800 (PST) Received: from localhost ([::1]:33156 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kjjUG-0002VP-SK for importer@patchew.org; Mon, 30 Nov 2020 08:45:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38464) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kjjQH-0006w0-1D; Mon, 30 Nov 2020 08:40:57 -0500 Received: from mail-eopbgr80115.outbound.protection.outlook.com ([40.107.8.115]:22148 helo=EUR04-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kjjQ9-0000SL-Vz; Mon, 30 Nov 2020 08:40:56 -0500 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3448.eurprd08.prod.outlook.com (2603:10a6:20b:50::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.31; Mon, 30 Nov 2020 13:40:39 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::d585:99a4:d7a4:d478]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::d585:99a4:d7a4:d478%4]) with mapi id 15.20.3611.025; Mon, 30 Nov 2020 13:40:39 +0000 Received: from kvm.sw.ru (185.215.60.91) by AM0PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:208:122::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.23 via Frontend Transport; Mon, 30 Nov 2020 13:40:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CjX0YBx0AlCvwlwTQ0e3VZ/ElZfBGuUR1vNb3W59yDPlIIKVDH9Mlws3fE/HddiatCI3q+b7yL7mPD2uGdaCFgJuVnQEPgfHOWt+ylv/3y4g5bg0iux/e4WekF4uK6sYqsGk/rOQYOao25AP0bvGEBvHIfRQG34PdlWOlur3rCJb70ztPqmrFV1/umNh2d/jryCKIXgBsqC14wVP+Swegb6oEWJ+iwHv1hivq+M7EzWZd6sCcRhdbXh7t6fsJUwwt5VJj7FW0Wo8iQRM9y61nu86vDlY3bh6y040RaSHizD93xX7M0qlfI/u+oAaWwU1AOoZdS3DZGxSThnelZ9XfQ== 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=hMd41hCS7VBMAxKiQjMW7Qi2+STqAzQ/lcI8OTOiO80=; b=aFDo6dv9z0KGEjg80Z2pLDc9nMfMhi6/tFEprYsrRs1z/YB+LNoTzqL1y10GfEktowoC+COSmyHxNhu7sfUJLezK2wtT9m471qF7q4/KpOM2RwK6tuSoqhjh1TahvyC5GpPxh3JO2PWJPHBBgnkhB2OsyRzBnk9lPz6aa8vzA6AUr1PSPqiIFDaHl1ZdlR0vSlQIAktANo4KqH+Sxux3VOIj/qHp+E5kb5CEORN2l3ViGFsVdUpeiEYulqIorFjdPi76/6Gq8aaGJD1UQzhhHx8SlI3n7+8uBRz0Z2OQ9fSV05bLay1igZ9FHJqx/alL1PQy/RNOx1mcPre+v1refw== 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=hMd41hCS7VBMAxKiQjMW7Qi2+STqAzQ/lcI8OTOiO80=; b=DWSOpugEILpttNvupn2HjvXLJpVOI8Ub91KsTyXcmszyidU7OOWGuaDJrWobeO7lFoesemjTk7ZOeKi2bSNahbedtbnw/eUCAFohaeBhRmCxAgLCe51diKkABzVX8vzhxsMBi4Q4JGqQxtE/3rW2+UKfsDBIcYfSc83N6/TWQ30= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, mreitz@redhat.com, kwolf@redhat.com, eblake@redhat.com, vsementsov@virtuozzo.com, den@openvz.org Subject: [PATCH v2 1/8] block/nbd: move initial connect to coroutine Date: Mon, 30 Nov 2020 16:40:17 +0300 Message-Id: <20201130134024.19212-2-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20201130134024.19212-1-vsementsov@virtuozzo.com> References: <20201130134024.19212-1-vsementsov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-Originating-IP: [185.215.60.91] X-ClientProxiedBy: AM0PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:208:122::20) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3b459dc7-071c-477d-13e1-08d89535866f X-MS-TrafficTypeDiagnostic: AM6PR08MB3448: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1332; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ocTrgDr8LOeCiAdesrZ/8e+2sOrhvD8NivO+fd4J9jgeDAwFQYvfoiyCkzUBtLY+2A8NsONQwlfNXu3CPCYMJgul89LWHxCzF7VkoJygl1A3rpJr8mWbsiHtybfN6xJoj7QN2GklTVyYBbXHL3oAC5wzStZ7nrBa51cWmJ7LP8ze8g2gzSfI1Trm53XyLmLr1fUv23+TrliwVLHU9eKkS+Lg3ysul7/Xz0/3qq6ZLqpTeo4iXtKG2uaBFAJfjgl92f4p91TyJLGVqRoHgIzTLiR96Y19k6NY5uq4yFZSU4Ayn2GI5OpzNxdVk+HEt1m7iSjZMTV5EbYbq1cwLMObWQ== 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)(366004)(346002)(396003)(376002)(39840400004)(2906002)(478600001)(52116002)(6666004)(1076003)(4326008)(6512007)(8676002)(8936002)(86362001)(107886003)(2616005)(6916009)(316002)(956004)(6486002)(5660300002)(6506007)(186003)(66946007)(66476007)(66556008)(16526019)(26005)(36756003)(83380400001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?mRzlmbpT5Y0Z8De1BMZztDsvxr5kA/bB2eNHzwOjrO0wq/T/4IOnosHIHLOg?= =?us-ascii?Q?8KU3UX3rkytvFHCdYDocM2h9HrJC+XiWwZikpsJ8hlZYxGdsu33iZf621dwa?= =?us-ascii?Q?zKAxF5qeiA2jHeFTzAANIgJNPt0jo0x+DsbTrVSaGbNDParv4nUmBCZfq5x2?= =?us-ascii?Q?6gXfP4jdyTNDROH/QfjvbiSgCJo0moA8cHUZxJ6ulbYYgC3tflTOMTtQcwOx?= =?us-ascii?Q?ihyBnjCrwGwfLBswdTSj7+hqodt9SpSmC4gbsaw/t+cJwyzPZGN+3HI3RJJj?= =?us-ascii?Q?2lXHzhsOsnzi9mPZMqirzLEBbeIF7gkDgCGXx/Jvq3Fw2QmiKcJn2J1irWpJ?= =?us-ascii?Q?Z65sa4PVBi9AiZhQknlJo+n2ehiQqdcaTptGsn4UbVPA+4b7XnItlNGlhnJw?= =?us-ascii?Q?4dqmUc4vL7aagthlkkr5T1TN+LBUHAbxUjQ63PQQZvHiq2geTsrFtEVnxcP4?= =?us-ascii?Q?xfnKY8FJrnWEjbF95BwKu3abJk3Hyy/BPRz5kH1EZlYJSqQ84W1jCQjaJuJd?= =?us-ascii?Q?7ZfWiLfI5sXnoNAiGkvRI5/aVwLAkAgJrVcwQHl6/ShAPnObwz7z3ChrhQOs?= =?us-ascii?Q?/ludVSWtMCExcpm9ECS45X2X8mJIQaoX+WcnC91fJfP9VQFJpc9a22l0n2bw?= =?us-ascii?Q?mzd6dazEiZ1cjt575bsZ23Le8TJkAdLOR7QS0t5JpAULiinKK21Sb/XLlLF3?= =?us-ascii?Q?8L4S+O3onsddmWXMrkcmuEAJm31JvPbD9N5qzr9BCpKNPe4FxkTVCvcbnB6K?= =?us-ascii?Q?11KDHU+XcurGTGOyQk1eUU1vz+Gk+qUoHoOfCbNb4h5nFM+T5PxEAttzgn0k?= =?us-ascii?Q?CupwKq+y4Atz0FJhda5jM418B54yFai/NViXTgdYLHg6GPAe7zDCKgqGLRAK?= =?us-ascii?Q?nIsZeBdgAjTWFEDnlFycTHuBYzTSz721g2QmUC09tvjvJ0qTY0U7ABFgFEPB?= =?us-ascii?Q?BNBxUCmDkVXfuucemG0YSBQz/VBz7Q2v3Yr2QZAPnfEUM1OJudvgwrYbJNh/?= =?us-ascii?Q?yabG?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3b459dc7-071c-477d-13e1-08d89535866f X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2020 13:40:39.5451 (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: zRJYWsPj9xrju/x6eF8wXvGbGkl+LYNBYroXHtbSwhNmvnnJE1f7MVENJPC84ICn6iYAeen+YxH0JpMJRxrb6zkAhge8wzQu8NIjivDuqrs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3448 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.8.115; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-VI1-obe.outbound.protection.outlook.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) Content-Type: text/plain; charset="utf-8" We are going to implement reconnect-on-open. Let's reuse existing reconnect loop. For this, do initial connect in connection coroutine. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Eric Blake --- block/nbd.c | 94 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 53 insertions(+), 41 deletions(-) diff --git a/block/nbd.c b/block/nbd.c index 42536702b6..3e1d6c2b17 100644 --- a/block/nbd.c +++ b/block/nbd.c @@ -57,6 +57,7 @@ typedef struct { } NBDClientRequest; =20 typedef enum NBDClientState { + NBD_CLIENT_OPENING, NBD_CLIENT_CONNECTING_WAIT, NBD_CLIENT_CONNECTING_NOWAIT, NBD_CLIENT_CONNECTED, @@ -113,6 +114,7 @@ typedef struct BDRVNBDState { CoQueue free_sema; Coroutine *connection_co; Coroutine *teardown_co; + Coroutine *open_co; QemuCoSleepState *connection_co_sleep_ns_state; bool drained; bool wait_drained_end; @@ -141,8 +143,6 @@ typedef struct BDRVNBDState { NBDConnectThread *connect_thread; } BDRVNBDState; =20 -static QIOChannelSocket *nbd_establish_connection(SocketAddress *saddr, - Error **errp); static QIOChannelSocket *nbd_co_establish_connection(BlockDriverState *bs, Error **errp); static void nbd_co_establish_connection_cancel(BlockDriverState *bs, @@ -339,7 +339,8 @@ static void nbd_teardown_connection(BlockDriverState *b= s) static bool nbd_client_connecting(BDRVNBDState *s) { return s->state =3D=3D NBD_CLIENT_CONNECTING_WAIT || - s->state =3D=3D NBD_CLIENT_CONNECTING_NOWAIT; + s->state =3D=3D NBD_CLIENT_CONNECTING_NOWAIT || + s->state =3D=3D NBD_CLIENT_OPENING; } =20 static bool nbd_client_connecting_wait(BDRVNBDState *s) @@ -639,6 +640,7 @@ static coroutine_fn void nbd_co_reconnect_loop(BDRVNBDS= tate *s) { uint64_t timeout =3D 1 * NANOSECONDS_PER_SECOND; uint64_t max_timeout =3D 16 * NANOSECONDS_PER_SECOND; + bool initial_connect =3D s->state =3D=3D NBD_CLIENT_OPENING; =20 if (s->state =3D=3D NBD_CLIENT_CONNECTING_WAIT) { reconnect_delay_timer_init(s, qemu_clock_get_ns(QEMU_CLOCK_REALTIM= E) + @@ -647,6 +649,25 @@ static coroutine_fn void nbd_co_reconnect_loop(BDRVNBD= State *s) =20 nbd_reconnect_attempt(s); =20 + if (initial_connect) { + if (s->state =3D=3D NBD_CLIENT_CONNECTED) { + /* All good. Just kick nbd_open() to successfully return */ + if (s->open_co) { + aio_co_wake(s->open_co); + s->open_co =3D NULL; + } + aio_wait_kick(); + return; + } else { + /* + * Failed. Currently, reconnect on open is not allowed, so qui= t. + * nbd_open() will be kicked in the end of nbd_connection_entr= y() + */ + s->state =3D NBD_CLIENT_QUIT; + return; + } + } + while (nbd_client_connecting(s)) { if (s->drained) { bdrv_dec_in_flight(s->bs); @@ -759,6 +780,11 @@ static coroutine_fn void nbd_connection_entry(void *op= aque) s->ioc =3D NULL; } =20 + if (s->open_co) { + aio_co_wake(s->open_co); + s->open_co =3D NULL; + } + if (s->teardown_co) { aio_co_wake(s->teardown_co); } @@ -1757,26 +1783,6 @@ static void nbd_client_close(BlockDriverState *bs) nbd_teardown_connection(bs); } =20 -static QIOChannelSocket *nbd_establish_connection(SocketAddress *saddr, - Error **errp) -{ - ERRP_GUARD(); - QIOChannelSocket *sioc; - - sioc =3D qio_channel_socket_new(); - qio_channel_set_name(QIO_CHANNEL(sioc), "nbd-client"); - - qio_channel_socket_connect_sync(sioc, saddr, errp); - if (*errp) { - object_unref(OBJECT(sioc)); - return NULL; - } - - qio_channel_set_delay(QIO_CHANNEL(sioc), false); - - return sioc; -} - /* nbd_client_handshake takes ownership on sioc. On failure it is unref'ed= . */ static int nbd_client_handshake(BlockDriverState *bs, QIOChannelSocket *si= oc, Error **errp) @@ -2245,7 +2251,6 @@ static int nbd_open(BlockDriverState *bs, QDict *opti= ons, int flags, { int ret; BDRVNBDState *s =3D (BDRVNBDState *)bs->opaque; - QIOChannelSocket *sioc; =20 ret =3D nbd_process_options(bs, options, errp); if (ret < 0) { @@ -2255,23 +2260,7 @@ static int nbd_open(BlockDriverState *bs, QDict *opt= ions, int flags, s->bs =3D bs; qemu_co_mutex_init(&s->send_mutex); qemu_co_queue_init(&s->free_sema); - - /* - * establish TCP connection, return error if it fails - * TODO: Configurable retry-until-timeout behaviour. - */ - sioc =3D nbd_establish_connection(s->saddr, errp); - if (!sioc) { - return -ECONNREFUSED; - } - - ret =3D nbd_client_handshake(bs, sioc, errp); - if (ret < 0) { - nbd_clear_bdrvstate(s); - return ret; - } - /* successfully connected */ - s->state =3D NBD_CLIENT_CONNECTED; + s->state =3D NBD_CLIENT_OPENING; =20 nbd_init_connect_thread(s); =20 @@ -2279,6 +2268,29 @@ static int nbd_open(BlockDriverState *bs, QDict *opt= ions, int flags, bdrv_inc_in_flight(bs); aio_co_schedule(bdrv_get_aio_context(bs), s->connection_co); =20 + if (qemu_in_coroutine()) { + s->open_co =3D qemu_coroutine_self(); + qemu_coroutine_yield(); + } else { + BDRV_POLL_WHILE(bs, s->state =3D=3D NBD_CLIENT_OPENING); + } + + if (s->state !=3D NBD_CLIENT_CONNECTED && s->connect_status < 0) { + /* + * It's possible that state !=3D NBD_CLIENT_CONNECTED, but connect= _status + * is 0. This means that initial connecting succeed, but failed la= ter + * (during BDRV_POLL_WHILE). It's a rare case, but it happen in io= test + * 83. Let's don't care and just report success in this case: it n= ot + * much differs from the case when connection failed immediately a= fter + * succeeded open. + */ + assert(s->connect_err); + error_propagate(errp, s->connect_err); + s->connect_err =3D NULL; + nbd_clear_bdrvstate(s); + return s->connect_status; + } + return 0; } =20 --=20 2.21.3 From nobody Sun Feb 8 11:07:05 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1606744160; cv=pass; d=zohomail.com; s=zohoarc; b=K406Ixmp3ZmlzY8vEqeuCB8RTHeSPOH/AnVr+O/WXx4rgJJ+vkEZ1e9ni1ZCBnMxf5PIbgAgFWooYs2UYE82qiz5qpzaffvChLTkNsQmYr0CCeGg8LruwNELDOQOBoVf7ELZ/rsEIbQjmCcyF9xcBgKdpxanOBdDiJOIfmvW2yk= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606744160; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=72r0EuroHhhEzA7T5gR3oWtSPXYldejprkeoNpbp49Y=; b=JdpsITjX9f7YajNY0gZJJtvSngDQhCPtgkhVBbgIA5q4fEVQiJW95wbz+Z86RoRqK/1fpzDWuDexoRM1SJWpo8xKYYy5ysHxg19Yn+A0CFQvO3a2IGm0FYvnF1gwDkSikA2YWAmCyAGzOm5ctgS2wAwOE04j5erpW93ab9EMf0M= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606744160331640.4927955630192; Mon, 30 Nov 2020 05:49:20 -0800 (PST) Received: from localhost ([::1]:41978 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kjjYN-0006KI-00 for importer@patchew.org; Mon, 30 Nov 2020 08:49:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38466) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kjjQI-0006yT-38; Mon, 30 Nov 2020 08:40:58 -0500 Received: from mail-vi1eur05on2135.outbound.protection.outlook.com ([40.107.21.135]:61792 helo=EUR05-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kjjQC-0000P5-2k; Mon, 30 Nov 2020 08:40:57 -0500 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3448.eurprd08.prod.outlook.com (2603:10a6:20b:50::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.31; Mon, 30 Nov 2020 13:40:40 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::d585:99a4:d7a4:d478]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::d585:99a4:d7a4:d478%4]) with mapi id 15.20.3611.025; Mon, 30 Nov 2020 13:40:40 +0000 Received: from kvm.sw.ru (185.215.60.91) by AM0PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:208:122::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.23 via Frontend Transport; Mon, 30 Nov 2020 13:40:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KFwh6ORyaAQzSJnMKeDEg3Y6VMB2pJRM0ih3AJmVy8N+AYREW8hdrrkaaBSh4iDlwNjotpOM4NwbiizmQ3CjV9Aej7K/EE5xBkPSrbnkADtBUtE9NR0P5YtoM6wSXr+t4DOmc0BlZk8z5YkW+nabBbIJBRRTR3pHn5hFl9vWNUgAF44riz9AABu8yfBgpxpSiQCqg2pbULH58yGzislpVw4c2kyW2G/vfXqcBZyGcCqEgtUDrXvk1KvZjugYzsWWkwvrxMRb9HY+dvaUYMYD1e1ogQQ50wIn6ZGdAJyNT1DjOXt2QYOGBAyAFjlg1/r2gcRc5uExD8huAzen5bi2zw== 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=72r0EuroHhhEzA7T5gR3oWtSPXYldejprkeoNpbp49Y=; b=AtZ8luZnGgOeSaDCedwB/noqEkv6gBCyH4wwcQGvgPU4eLpdLNg3h4b5hoEya+Z+LbnIDIN/Q1wMTvD4WQTMBI4/1SmXo2HDg9Lag76yn/3dC2HrWgOg/dEqoB4UujqyloggKGQbhAJmrstJ2ZAmr97l3MBUCtjvTBVJUna1ffsRZoLglI6TqpcEn7h4Y0rXqLbVasjicPqPAG6AkOUFqo9ucl61dFLse0FiwqTAEJG5VH5YH+cgFEcs+PKaCux4xhxVKORKpj7vhMZJ83x3cvCskAJkPqGr36STVln/WxJeo2LqH8hhY2RjxydNMcSq3wyNlIapEhfw+OfVeMdB5Q== 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=72r0EuroHhhEzA7T5gR3oWtSPXYldejprkeoNpbp49Y=; b=oEXZ3xiFfxszPMXt+iLZXqJR2qBaMJMfYKBWq1ec7eifEBXlOmnFjj6UVOUmGG1cMFHLiR9NtTRbLfyQb85FWdHMCBfsALJwEU/7v/t2Rv1HqGXS1lDWKYOQu/69GZv5hXeIeOMRh60qqpC0ZkgVgf1n02m8DMjjTjpGcwDvnVw= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, mreitz@redhat.com, kwolf@redhat.com, eblake@redhat.com, vsementsov@virtuozzo.com, den@openvz.org Subject: [PATCH v2 2/8] nbd: allow reconnect on open, with corresponding new options Date: Mon, 30 Nov 2020 16:40:18 +0300 Message-Id: <20201130134024.19212-3-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20201130134024.19212-1-vsementsov@virtuozzo.com> References: <20201130134024.19212-1-vsementsov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-Originating-IP: [185.215.60.91] X-ClientProxiedBy: AM0PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:208:122::20) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0a1f1a42-3691-47ff-6c92-08d8953586e5 X-MS-TrafficTypeDiagnostic: AM6PR08MB3448: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:353; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ml9gDHve55r6E8YM3Ttf5ncZDiu+iCD95q6ZIpSSh07ApCQSXU9ekyRi4x+92eEC9ankosoD5NE7Qz8I1MpM+npAFFdk55hUFBn45rRyQY/AeeeM/DWKfdKrV1G1ormnlLSr9/hK6JtwlhiaH5kvciUWs+z1jQ6a5+rqcNOkCuRyAtpOg1GPOiTkItDgekoulLeMNkhxjyrL46tBzJMkKxvviRWXJuWgRmmOC/h2J8JWVYOk0/Fb/p9Bk1W0jyTwZIynstLj2luC8b4yUOSSrQgwvSjWve+R0zTdJ1v7Yb1tf9CAuxfbemwzxdu2Ltbb 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)(366004)(346002)(396003)(376002)(39840400004)(2906002)(478600001)(52116002)(6666004)(1076003)(4326008)(6512007)(8676002)(8936002)(86362001)(107886003)(2616005)(6916009)(316002)(956004)(6486002)(5660300002)(6506007)(186003)(66946007)(66476007)(66556008)(16526019)(26005)(36756003)(83380400001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?8INu+MmYSOCrLcTbEhf1qs6ZpVkeLX0z/8rkEA+PCWoTSTBF1Kwb1SpLBVnE?= =?us-ascii?Q?1LfLfww0FFftCt+UL1uswwxHwVk5X1gyTN7VMn3KfZAXKiKyVHxJCIeMW2nK?= =?us-ascii?Q?TyjDaeCdqgFfDWAas78UtCUnHAybfy3IvKL2EwwiGGeDY++VTB/h5Px1xIhU?= =?us-ascii?Q?uNXcCXzpECgR1dsV4jFdqv6D85FXL1K3cK505aKk4O5sEyF+ubM29wGVQleL?= =?us-ascii?Q?4Vz4suZQd/oS0I3ozde8nkaAPWbsyCgqXK7jhRlc72q1YzgYzcOYyHsJ4hgF?= =?us-ascii?Q?yKvQD+MUD/Zi3sHkLzmcSXNXyCMl4W9DYGJQNpCm8iG9RcyggSqpdZ2cCyku?= =?us-ascii?Q?nTjDQZenNsDGMzIp0dkUZa2ZsI5EHouhJZjevd2i+ZKN4DCi/QV0r6+aWCYo?= =?us-ascii?Q?wfYbNWwlkxsRC/G+KVgDWDttRhDYsA21dhO8IQNF7P9SO785hoW2gOBzkcrK?= =?us-ascii?Q?V4y2b+PUAkDxrPBkYzZvTNFCw7qCDZouO34a6YmbCm5sea469ZqXcgY6Zbv0?= =?us-ascii?Q?fG1a5nlRWvSvFkzIxnM2tngTwoLGTkFm3X46Y3lr/bE1IxXoDEM+m/cW+OPW?= =?us-ascii?Q?aAFunBZRnC21dGar75L06gx7RasZZ3M7VPIoHRwMN+RLNZa5VR4QckdK+MwZ?= =?us-ascii?Q?er8Ukbm5GxHyqgeJLH38UI0Np5I6CLs9uT8EIJ3p1xKx83rt+rLuABswJ630?= =?us-ascii?Q?U+e1whM1m9hH1Qsk9SIpU7GPWUIJibvnsnnEFtFBHaxLj93Sx9HrUWRVNS3b?= =?us-ascii?Q?hHi9xQliE4mnRMGYB9WxL9KaVHjb5X27Y7hng815sz+50Zqcx0noMAs+v/9f?= =?us-ascii?Q?IPSiRH/OCcCzKhcdVKj67V4i1kvYxkAc1zuNSiPcZZ37qm0dgOanfkcCS91B?= =?us-ascii?Q?693Jty6zTuPfn60Iuonm6wdImZfYdKBVx7K/UUw4NVRmju2xpYwY3JzTAzpm?= =?us-ascii?Q?Sux41Di6VXsNmnK37SQLerpU5dU8otIGcZ7ASBv/hgfKebNxX+prdzMgrF3B?= =?us-ascii?Q?MfW5?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0a1f1a42-3691-47ff-6c92-08d8953586e5 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2020 13:40:40.3356 (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: oarXH9VaXJuZ9o2NAT9hUEGFu1GnoHHDEcRXlO4Ff8fNzhEglteMJVoJ3swk16AQJYyIsrJR0w/Ivw3r9VJp675MZhMx7bNAwv+MYsZ3yAc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3448 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.21.135; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-VI1-obe.outbound.protection.outlook.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) Content-Type: text/plain; charset="utf-8" Note: currently, using new option with long timeout in qmp command blockdev-add is not good idea, as qmp interface is blocking, so, don't add it now, let's add it later after "monitor: Optionally run handlers in coroutines" series merged. Signed-off-by: Vladimir Sementsov-Ogievskiy --- block/nbd.c | 115 +++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 92 insertions(+), 23 deletions(-) diff --git a/block/nbd.c b/block/nbd.c index 3e1d6c2b17..d25acafaad 100644 --- a/block/nbd.c +++ b/block/nbd.c @@ -125,12 +125,14 @@ typedef struct BDRVNBDState { bool wait_in_flight; =20 QEMUTimer *reconnect_delay_timer; + QEMUTimer *open_timer; =20 NBDClientRequest requests[MAX_NBD_REQUESTS]; NBDReply reply; BlockDriverState *bs; =20 /* Connection parameters */ + uint64_t open_timeout; uint32_t reconnect_delay; SocketAddress *saddr; char *export, *tlscredsid; @@ -305,7 +307,7 @@ static void coroutine_fn nbd_client_co_drain_end(BlockD= riverState *bs) } =20 =20 -static void nbd_teardown_connection(BlockDriverState *bs) +static void nbd_teardown_connection_async(BlockDriverState *bs) { BDRVNBDState *s =3D (BDRVNBDState *)bs->opaque; =20 @@ -325,6 +327,14 @@ static void nbd_teardown_connection(BlockDriverState *= bs) } nbd_co_establish_connection_cancel(bs, true); } +} + +static void nbd_teardown_connection(BlockDriverState *bs) +{ + BDRVNBDState *s =3D (BDRVNBDState *)bs->opaque; + + nbd_teardown_connection_async(bs); + if (qemu_in_coroutine()) { s->teardown_co =3D qemu_coroutine_self(); /* connection_co resumes us when it terminates */ @@ -474,6 +484,11 @@ nbd_co_establish_connection(BlockDriverState *bs, Erro= r **errp) s->wait_connect =3D true; qemu_coroutine_yield(); =20 + if (!s->connect_thread) { + error_setg(errp, "Connection attempt cancelled by other operation"= ); + return NULL; + } + qemu_mutex_lock(&thr->mutex); =20 switch (thr->state) { @@ -529,6 +544,12 @@ static void nbd_co_establish_connection_cancel(BlockDr= iverState *bs, bool wake =3D false; bool do_free =3D false; =20 + if (!thr) { + /* already detached or finished */ + assert(!s->wait_connect); + return; + } + qemu_mutex_lock(&thr->mutex); =20 if (thr->state =3D=3D CONNECT_THREAD_RUNNING) { @@ -624,10 +645,15 @@ static coroutine_fn void nbd_reconnect_attempt(BDRVNB= DState *s) bdrv_inc_in_flight(s->bs); =20 out: - s->connect_status =3D ret; - error_free(s->connect_err); - s->connect_err =3D NULL; - error_propagate(&s->connect_err, local_err); + if (s->connect_status =3D=3D -ETIMEDOUT) { + /* Don't rewrite timeout error by following cancel-provoked error = */ + error_free(local_err); + } else { + s->connect_status =3D ret; + error_free(s->connect_err); + s->connect_err =3D NULL; + error_propagate(&s->connect_err, local_err); + } =20 if (ret >=3D 0) { /* successfully connected */ @@ -636,11 +662,44 @@ out: } } =20 +static void open_timer_del(BDRVNBDState *s) +{ + if (s->open_timer) { + timer_del(s->open_timer); + timer_free(s->open_timer); + s->open_timer =3D NULL; + } +} + +static void open_timer_cb(void *opaque) +{ + BDRVNBDState *s =3D opaque; + + if (!s->connect_status) { + /* First attempt was not finished. We should set an error */ + s->connect_status =3D -ETIMEDOUT; + error_setg(&s->connect_err, "First connection attempt is cancelled= by " + "timeout"); + } + + nbd_teardown_connection_async(s->bs); + open_timer_del(s); +} + +static void open_timer_init(BDRVNBDState *s, uint64_t expire_time_ns) +{ + assert(!s->open_timer && s->state =3D=3D NBD_CLIENT_OPENING); + s->open_timer =3D aio_timer_new(bdrv_get_aio_context(s->bs), + QEMU_CLOCK_REALTIME, + SCALE_NS, + open_timer_cb, s); + timer_mod(s->open_timer, expire_time_ns); +} + static coroutine_fn void nbd_co_reconnect_loop(BDRVNBDState *s) { uint64_t timeout =3D 1 * NANOSECONDS_PER_SECOND; uint64_t max_timeout =3D 16 * NANOSECONDS_PER_SECOND; - bool initial_connect =3D s->state =3D=3D NBD_CLIENT_OPENING; =20 if (s->state =3D=3D NBD_CLIENT_CONNECTING_WAIT) { reconnect_delay_timer_init(s, qemu_clock_get_ns(QEMU_CLOCK_REALTIM= E) + @@ -649,23 +708,9 @@ static coroutine_fn void nbd_co_reconnect_loop(BDRVNBD= State *s) =20 nbd_reconnect_attempt(s); =20 - if (initial_connect) { - if (s->state =3D=3D NBD_CLIENT_CONNECTED) { - /* All good. Just kick nbd_open() to successfully return */ - if (s->open_co) { - aio_co_wake(s->open_co); - s->open_co =3D NULL; - } - aio_wait_kick(); - return; - } else { - /* - * Failed. Currently, reconnect on open is not allowed, so qui= t. - * nbd_open() will be kicked in the end of nbd_connection_entr= y() - */ - s->state =3D NBD_CLIENT_QUIT; - return; - } + if (s->state =3D=3D NBD_CLIENT_OPENING && !s->open_timeout) { + s->state =3D NBD_CLIENT_QUIT; + return; } =20 while (nbd_client_connecting(s)) { @@ -695,6 +740,16 @@ static coroutine_fn void nbd_co_reconnect_loop(BDRVNBD= State *s) } =20 reconnect_delay_timer_del(s); + open_timer_del(s); + + if (s->state =3D=3D NBD_CLIENT_CONNECTED) { + /* All good. Just kick nbd_open() to successfully return */ + if (s->open_co) { + aio_co_wake(s->open_co); + s->open_co =3D NULL; + } + aio_wait_kick(); + } } =20 static coroutine_fn void nbd_connection_entry(void *opaque) @@ -2180,6 +2235,14 @@ static QemuOptsList nbd_runtime_opts =3D { "future requests before a successful reconnect will " "immediately fail. Default 0", }, + { + .name =3D "open-timeout", + .type =3D QEMU_OPT_NUMBER, + .help =3D "In seconds. If zero, nbd driver tries to establish " + "connection only once, on fail open fails. If non-zero= , " + "nbd driver may do several attempts until success or " + "@open-timeout seconds passed. Default 0", + }, { /* end of list */ } }, }; @@ -2235,6 +2298,7 @@ static int nbd_process_options(BlockDriverState *bs, = QDict *options, } =20 s->reconnect_delay =3D qemu_opt_get_number(opts, "reconnect-delay", 0); + s->open_timeout =3D qemu_opt_get_number(opts, "open-timeout", 0); =20 ret =3D 0; =20 @@ -2268,6 +2332,11 @@ static int nbd_open(BlockDriverState *bs, QDict *opt= ions, int flags, bdrv_inc_in_flight(bs); aio_co_schedule(bdrv_get_aio_context(bs), s->connection_co); =20 + if (s->open_timeout) { + open_timer_init(s, qemu_clock_get_ns(QEMU_CLOCK_REALTIME) + + s->open_timeout * NANOSECONDS_PER_SECOND); + } + if (qemu_in_coroutine()) { s->open_co =3D qemu_coroutine_self(); qemu_coroutine_yield(); --=20 2.21.3 From nobody Sun Feb 8 11:07:05 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1606744619; cv=pass; d=zohomail.com; s=zohoarc; b=lU12oVrUbopfA1Z3naWWglDGRUTAMMjY8RZUQ/z3uJ/wxdwrPu2IdtgNFqXDbYNJ2ejab/zvJwf4gUIdgAnxB0jQjMsskxdlm7j7pId7VE5Gqkw0IM7FGrCbfGiEnn6DYZC6fKCdQ2LAV7bb93JdHXCa/RT79ERRl+bEJbCZE+I= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606744619; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=8ZuFLQIa9CZxiMx4cHqXBLH9EFd6BBNu79wjleXVldw=; b=PtIjh1STyTdJ6/DZ98FznWArVIvlt9bWV/jSoOyyi3vKphhc1r6mji5cT5A/wGVPWcD3eSb8qYdpDYS7JVQxwqdaJKOIJzFBGFlpiKWBm86xEfSiWSL6mzR9QukJPZ6Qwc5xSanDgvm777mhocg7IIjqsUcJ4Sf0w8g9UE+BTSY= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606744619679335.06878700060133; Mon, 30 Nov 2020 05:56:59 -0800 (PST) Received: from localhost ([::1]:57452 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kjjfm-0004oP-3b for importer@patchew.org; Mon, 30 Nov 2020 08:56:58 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38492) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kjjQK-00073l-LU; Mon, 30 Nov 2020 08:41:00 -0500 Received: from mail-eopbgr80115.outbound.protection.outlook.com ([40.107.8.115]:22148 helo=EUR04-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kjjQI-0000SL-6M; Mon, 30 Nov 2020 08:40:59 -0500 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3448.eurprd08.prod.outlook.com (2603:10a6:20b:50::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.31; Mon, 30 Nov 2020 13:40:41 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::d585:99a4:d7a4:d478]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::d585:99a4:d7a4:d478%4]) with mapi id 15.20.3611.025; Mon, 30 Nov 2020 13:40:41 +0000 Received: from kvm.sw.ru (185.215.60.91) by AM0PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:208:122::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.23 via Frontend Transport; Mon, 30 Nov 2020 13:40:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oI1bWKmmIQuVgy6eXJL+CW7TCc56NSU6besa9pR/hDyxSypKGCePDn6Jn/FdMpF+l64GU4sIRCXRgNq7aY7Hv2JxzlgxlGHCZ1s4s29aO2Ik8FEGdGwujJhxygI8EH4H2XL9i1E1vLfq6Qup+Yl5KeJF62TUA6xIAXNG49eKnlVbvhRBRSPZCe7Do+Pfuwipt7Js4UEPeTPC7KgkZ2kVpfDRIXJ0mX8gfi//uGKFUQjzGIwBr2e4qGPSxXqdYoySMRPu9YQOJQha/174WyXQdFzu423KvY5Jkd3BhsMkzkWM3PufCF5mdN0YukcwMhBDc0WdZfileZ0jfrxYbqPy0A== 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=8ZuFLQIa9CZxiMx4cHqXBLH9EFd6BBNu79wjleXVldw=; b=DWz+WRwBQstO4WlteY2atYNapPN54+x9NDLrNfxw93JFYR8GQpA3LSOdBGBtnqmKUCmQ6ov3EmFnd6NvZl7m+9NptUMM0xgIqBwdzuySluo+igymdXXY1qMSRYd4+Wh9aFX38zM/GUcediFWlastFI6ixTWaK75IAQYkv2h0t4bxFhkG3YOhay2nvQAMelHw7hKL1VBhxyWInxQWjT6gr2IFBaggyeGfJLHAMfx4Xl++7HsjLVRyvD3bEh7kSIJzs6P4SYLX6xtcLTf/GFQcQ6uiWqMvQBvQWbPdF8FdmEala75kEApStEM3P63SNfNbs5t7yU9D6RsVbMR3oxihsA== 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=8ZuFLQIa9CZxiMx4cHqXBLH9EFd6BBNu79wjleXVldw=; b=n9MBekO9sZv3kCPmyTsFHSoNiG6HWxNxA/xqFtLWB5lrntLUMB47zhWMwSHU5PmeFtTsHESEANVeNt2uDnB8L0O/Z7mZXB6NvKkoV0z38shu4xqfNU3rUFELqWeAr7+Nu8HyJJ0uCPzA/ps5vp56KvOxBgo0pF5uxDCFuBq3M4w= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, mreitz@redhat.com, kwolf@redhat.com, eblake@redhat.com, vsementsov@virtuozzo.com, den@openvz.org Subject: [PATCH v2 3/8] iotests.py: fix qemu_tool_pipe_and_status() Date: Mon, 30 Nov 2020 16:40:19 +0300 Message-Id: <20201130134024.19212-4-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20201130134024.19212-1-vsementsov@virtuozzo.com> References: <20201130134024.19212-1-vsementsov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-Originating-IP: [185.215.60.91] X-ClientProxiedBy: AM0PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:208:122::20) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: eaa3999d-b914-4a8e-4436-08d89535876b X-MS-TrafficTypeDiagnostic: AM6PR08MB3448: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:63; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: p6OoeqfIDiFypVXKuSta2uLAtYGEZqe+HSWiS6ciLdSLRVeIXjEub7n1rQyC3rfa2Ab5jFqnDSRnFZ6yU4hix+anZmO8n7yob0xeOH10DTm3u7lqbQOkk4YrmVDpdlrKplk90SSmEXVfYXGk76M/Z+q1mAwMlrliyE2IVNxWx5nT6oCl1ElDQzkXhxatG7aIUdfAS4x88y9mT1DcGYP8RkMFtzKlPVVlY95/UNlsExeKxLbvuAIV6TM0bBKf6SxFdjxgcVMC5Rj7ZDZTWM3gBm1jcMiAb0ow6udDm8+PvE5P4MSvap8HDCXi5gxT68u3qERYItus4ip1IpPbuCIjVg== 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)(366004)(346002)(396003)(376002)(39840400004)(2906002)(478600001)(52116002)(4744005)(6666004)(1076003)(4326008)(6512007)(8676002)(8936002)(86362001)(107886003)(2616005)(6916009)(316002)(956004)(6486002)(5660300002)(6506007)(186003)(66946007)(66476007)(66556008)(16526019)(26005)(36756003)(83380400001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?KcdWzPtWf7gi8Cni3df7ZjP8wgcloS3UjatFUQiuFsU/SAbw6VnfNFTmYLIy?= =?us-ascii?Q?mA+7Vf97wi2enU5ZxMjSjX0UH8Axugskcaqa+o+Ilaw2pPfqhHjFlSyuZ253?= =?us-ascii?Q?9RW8+LDzQeHJkctynpqAcmCgulAj4tdbc84f6pjwLVH0VSpoRG5APer54UN+?= =?us-ascii?Q?uQ2syodwuCtyBAKvr+cl+YInAdKBCxDrYCr8U8kOIgc+HxW6MEevQjyn9wZ5?= =?us-ascii?Q?XOtC/Zx0X1O1AMafCZfHCsibPmMs5fkyzZnehy6Iwz+IK51R74Z7OEs7A28n?= =?us-ascii?Q?a/KfaKZOYWusnYx8ug8kHUm3cxOH8P9TnZ2Kvq8bdrmgeeXxmRNWsp+jFD/9?= =?us-ascii?Q?Bl4TlJuBgdG5Cmpl1VhQLzbRfXjOcBIRL7pZWupA4ujAtYd2rMIgieUyvVGm?= =?us-ascii?Q?yxZcyIex3XT4mHAR0HoLvYMn4nluykN15ZKT4/1KPDmrAtUe5TReo43JJ93b?= =?us-ascii?Q?YYbE/D84Ym7Zf+72XRoP3CQaEk1r2RlXABmOG0jD08PNwGYr7q58QpZbXIj8?= =?us-ascii?Q?1vVlCQbaEV/T3ATpiAiyXfDp3o4jAKpyJqiqlA2tI8TyVE8PO8m923FRkntK?= =?us-ascii?Q?NErMwUvSH3+zJn+Db1cfiRpjKXqKtchNmUGj4UWWjJvO2989VBlYOHC/d9Ca?= =?us-ascii?Q?4QXbAXfMX+uZ4xu/HpSYeRT10Xjsh9xD5J+x1qWsVs8h9nQJDcz1ouumqXhh?= =?us-ascii?Q?jwvLOZTkrnZILVgTKoaKM/wW23aOU2yCknB7pNjju83S8SqPn7z9cBCGUhte?= =?us-ascii?Q?ekANJFsvDlOvdQruYrGdmVcM+7mqLkqA2z4ZM4RIbAsWXOj1FOrS2omrlJ63?= =?us-ascii?Q?mGTqrEm1TBtgs8jgwa4AKPtgCdTjABnohmDwGedESaTnaoF8zk3kW8HWex+O?= =?us-ascii?Q?/XXmQdVlhd9EwyAGegjyjxfTPNSyve06zza/xX4WN4f/vcEdBW/b48vHlDJz?= =?us-ascii?Q?ohSsmlcMlykmbnLEbEVkd+Bj4+rS82ErAhU7BzJNtsu7mYg0Y/04rxa5QeKh?= =?us-ascii?Q?oMly?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: eaa3999d-b914-4a8e-4436-08d89535876b X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2020 13:40:41.4696 (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: DstQDlYxwaXDevisGgwXxlGHjZN2F+gn4econVXWx8qFuHzdcWnvHoG1vGt1byeHwVhbMU7cltE1PwKoioxmyczmanLCCdOXMGp5n9ALguk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3448 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.8.115; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-VI1-obe.outbound.protection.outlook.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) Content-Type: text/plain; charset="utf-8" qemu_img_args variable is unrelated here. We should print just args. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Eric Blake --- tests/qemu-iotests/iotests.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index bcd4fe5b6f..5ebe25e063 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -101,9 +101,8 @@ def qemu_tool_pipe_and_status(tool: str, args: Sequence= [str], universal_newlines=3DTrue) output =3D subp.communicate()[0] if subp.returncode < 0: - sys.stderr.write('%s received signal %i: %s\n' - % (tool, -subp.returncode, - ' '.join(qemu_img_args + list(args)))) + cmd =3D ' '.join(args) + sys.stderr.write(f'{tool} received signal {-subp.returncode}: {cmd= }\n') return (output, subp.returncode) =20 def qemu_img_pipe_and_status(*args: str) -> Tuple[str, int]: --=20 2.21.3 From nobody Sun Feb 8 11:07:05 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1606743883; cv=pass; d=zohomail.com; s=zohoarc; b=VTv09cSMKQSK8llobKOUcXaeglzrbE3pySCjGWAaRsOoiDWHgHRSqjmx39dUBdvvu3CCc9meIBG8MCrzAUkhnuGQx41vYp4MipiSJ9AAerA+n/q6J7vi13kYu7IbJFaI2SFDXeoxFhqtGpVLj+JnKH8bI9TALgLPYYnVGkZXpt8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606743883; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ukJYvo2dvyrX4xAEDQwpaCL4ydwy+Mw3E6JJjE1GQvw=; b=MraemYpaojrIXDWqcGR7I/56nrH4ndHbklSy58JFfMTUonuboI/Nd6Une7dZtY8yuBBmEgwTDIwCewcNMZyNbnRZFIpsxIv71NdB2784VsPY2cm8JZN2o/Mp0Hb8TrRuvJDhcPxa1binB+1QVt8XBfB/Zygdg/zbdnTn+PwrUNI= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606743883289548.1179232544862; Mon, 30 Nov 2020 05:44:43 -0800 (PST) Received: from localhost ([::1]:60966 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kjjTt-0002LF-TN for importer@patchew.org; Mon, 30 Nov 2020 08:44:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38404) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kjjQ8-0006sM-N4; Mon, 30 Nov 2020 08:40:49 -0500 Received: from mail-eopbgr60102.outbound.protection.outlook.com ([40.107.6.102]:37262 helo=EUR04-DB3-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 1kjjQ5-0000RG-Ua; Mon, 30 Nov 2020 08:40:47 -0500 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3447.eurprd08.prod.outlook.com (2603:10a6:20b:44::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.31; Mon, 30 Nov 2020 13:40:42 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::d585:99a4:d7a4:d478]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::d585:99a4:d7a4:d478%4]) with mapi id 15.20.3611.025; Mon, 30 Nov 2020 13:40:42 +0000 Received: from kvm.sw.ru (185.215.60.91) by AM0PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:208:122::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.23 via Frontend Transport; Mon, 30 Nov 2020 13:40:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XRrFXANd1hlWjgdBmQUiSGXZbmA+G8NiBeVqdHhm0qiwDg7WPdraR0F2xVrdCkK12ttYLlFdnYETkXREY/O41qv2FBVV30oCPcUxiqK9m5lDuz/ozq6YeVvuquZ2dM61QQDHVN3skaMB+KBWPBOF3wzggO2p+o+1VvnGZUgeUXUqUXlWoRYnfzVXTB6Al603XS46ON28O23Yka3c2oZyw6iH9/BLg+L/prLld3bUWrMvFyyCdaEnrGXAA6qPNPZvAUH4X0Buf+JjR0TuMo29Kiyk3+R8prevaB92QIwqAEt8LsHd/H6nOO/Ogo5IzouEHt/PrhrsdEyt7+CXxbeiJQ== 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=ukJYvo2dvyrX4xAEDQwpaCL4ydwy+Mw3E6JJjE1GQvw=; b=Co4vt/nHUrbs+/VaeQs6Ofxa+lWWJS8j3IZMe+RzPJ/OJvCfItM6HHDB3MIPsd/ZuR6uccYXxRhreexu0B7uR7bcR0Aj1+We/wtfayIxBt1ej0ZFCib2V0UeEbK3XFc/yqdEDORNttEcwwvYqAvhcz0VMc0JGjddpvHybfmBMVn100P5q6mQKuerL8iTHe0DW9GFMZS5u2g0kUKY7/FqVCYrtmmJD3MvmsbaZJQb8nv6iY6VMi8rCn5XuYO6oarP/URuKoTgCc1yYFM9Ve6VWLzlhunw2W/Lper2gbYA6OsjG0NIJ1E65c8yYmp66kqdDcsxeS178S2j6uljXxNqYw== 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=ukJYvo2dvyrX4xAEDQwpaCL4ydwy+Mw3E6JJjE1GQvw=; b=gmcNxlQNX+nNFR8zZlCZI6yLkkK7WQcduWpvkmEZoSAHuoUWFCIEMXlVjBvSgimOhdCHxg7RlrwJ3B8bJQnTsevaS7D8vYmMM8MCmWzfb64EX00n3zQzE0SvYPb82Vclet6BtYjcJLoa9NdsWoDTdhi0rHdoJhPG+okRMdwB+cY= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, mreitz@redhat.com, kwolf@redhat.com, eblake@redhat.com, vsementsov@virtuozzo.com, den@openvz.org Subject: [PATCH v2 4/8] iotests.py: qemu_io(): reuse qemu_tool_pipe_and_status() Date: Mon, 30 Nov 2020 16:40:20 +0300 Message-Id: <20201130134024.19212-5-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20201130134024.19212-1-vsementsov@virtuozzo.com> References: <20201130134024.19212-1-vsementsov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-Originating-IP: [185.215.60.91] X-ClientProxiedBy: AM0PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:208:122::20) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 798735bc-e13c-42e1-7dc8-08d895358803 X-MS-TrafficTypeDiagnostic: AM6PR08MB3447: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:597; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: faLUvUEqinJAlIi3/9BYFc1G8EzhspBY1e+o2VZwF7hI/rFbee+aD3BnpSG0D3Lcf9gf+dkhNzJsXGYJggV5kKUAAz+Cg/4hdoFR8BX6PGuAq4IzNJvbxfbpZyZJ7SwOIGlNiqN6C6UpltOWeu6XBSN4eDulcJJSw7U+04RfhCUSc5peaUvpJoHkk1ejE1vdAm+sijBi098oFHKQGS5gCt/coHd+/1OPOZtx2ttDfNk7nKW+l9WGy6WGo50jv/rsDm/c0menzsLrEe2wKBVeaiC2MIdriy/9TENm/eh6B7aWVHleeweWzKDgpLXRjKiWOhgCT4eZCWvvDhk4iPcKdg== 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)(346002)(366004)(376002)(396003)(136003)(39840400004)(52116002)(4326008)(2906002)(1076003)(86362001)(4744005)(6486002)(26005)(107886003)(8936002)(316002)(66946007)(6916009)(66476007)(478600001)(2616005)(16526019)(66556008)(186003)(6506007)(5660300002)(956004)(36756003)(8676002)(6512007)(6666004)(83380400001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?xrJv6hkdyZ8tgaxU9yBvwIQ/3y7nJY6qVKAGinXptFv1JLQUCIcYVCpTbUU7?= =?us-ascii?Q?vaXSEAMWVOBiPe8DKOCMU6OMJga5FVRV7YJLgpHHY/uPjMUL3gI5pX+pc3ed?= =?us-ascii?Q?0wslh2rSYZAsxa0U6CQOo9gmIQZn+exGMHfWcoC4AoG90cqXNsfOBEVGLt0+?= =?us-ascii?Q?82DDqZMnyAO2PKv+Srip2J5jGzo27MbecDY+joaVSZ/NRUu5UxmFEH6eTb/j?= =?us-ascii?Q?+G0go7zGszXearjJLKEJJTsF7U/QYrAIiZIfjXGW7WiFVMIB4KPwmrGEbGRf?= =?us-ascii?Q?HsYeSQEescCn3LeSPhzZSbQxtVg4arVnYKcp/Y98u+cC3ZA4SxhZwKu9KRA2?= =?us-ascii?Q?xbB3lI4M6f94qK3Edi3Wd6P8H7dswvtsa54jkzUVBXOn+pxgvxK+RELhV7Gv?= =?us-ascii?Q?WorhJ/Y1nfZYQYVfyO7zVbNgivCrrRCRdtcjyIr0Ffnwys7j0/FNKYch1yxj?= =?us-ascii?Q?OG5hq5WQm2nxuKMa/8f1cjcesz9GUKrb9CYZVb3uZR8SW/QVivdf3sNPYikD?= =?us-ascii?Q?06UsPpjccnejhd0RcD/3lJpPdAtv2IUoOnZlxVk/pxbMxQNgDq8Yj+VoFkb+?= =?us-ascii?Q?/Toks4cph01o+OQSY5/erjj6Lcrl3O+SlhqJq/XUeWpl1ItoHBA1zdP4Ifsq?= =?us-ascii?Q?wPl1sZfkF/o0WJL7FT0Bj6MAWGjF6qItZyRdDsXtBnhMsp5IKgYdxqoSByuB?= =?us-ascii?Q?ijA5N/sj2iprEivpyIcTegwRs4v66HpZnblEy+v9k7lDeWKCgmI9koZKlzie?= =?us-ascii?Q?VnMP4Yig64+78mXyw/xqVJe3J9aw6mpCdZSvjYD/Zx2Sedl2NP3+4rfB2mpr?= =?us-ascii?Q?5MVnkAp3aWyrWX7qUBLWErKXjG4/BLGQbd+KnBN+H/mHjb3h60NkD0MkLkO7?= =?us-ascii?Q?oRv+/jIeR8aUTrUlHYyIj7MzxJqmXz4DwH7mQycDJU7Q56vpY+T/muZaGI+a?= =?us-ascii?Q?Hlv6NEaeJSELnwi4ERb25lATWmUprjfXB+l1U0jhhTMBcXHlJtZV1JHcu0Q6?= =?us-ascii?Q?IMwo?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 798735bc-e13c-42e1-7dc8-08d895358803 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2020 13:40:42.3418 (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: hSPU7KgoIvFXzE5TkrR4DXWOdt6/uvPCl9RdReKdS0GU4Hry5B7j+YLykWPtRu8byPIZ9FOFA4aECAvQh1nEX7d8ohAEVVmDlMXHEw/Vx60= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3447 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.6.102; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-DB3-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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) Content-Type: text/plain; charset="utf-8" Just drop code duplication. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Eric Blake --- tests/qemu-iotests/iotests.py | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index 5ebe25e063..6c9bcf9042 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -188,14 +188,7 @@ def img_info_log(filename, filter_path=3DNone, imgopts= =3DFalse, extra_args=3D()): def qemu_io(*args): '''Run qemu-io and return the stdout data''' args =3D qemu_io_args + list(args) - subp =3D subprocess.Popen(args, stdout=3Dsubprocess.PIPE, - stderr=3Dsubprocess.STDOUT, - universal_newlines=3DTrue) - output =3D subp.communicate()[0] - if subp.returncode < 0: - sys.stderr.write('qemu-io received signal %i: %s\n' - % (-subp.returncode, ' '.join(args))) - return output + return qemu_tool_pipe_and_status('qemu-io', args)[0] =20 def qemu_io_log(*args): result =3D qemu_io(*args) --=20 2.21.3 From nobody Sun Feb 8 11:07:05 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1606744248; cv=pass; d=zohomail.com; s=zohoarc; b=K6HPu4B5hK1RY9nU51thsmJrQhm+IxMAHiWAKIweQoVb2YwK1UGNJsmTfPAScMN1k5qLAVsWFe3XTDrsFrcqdS7ofFymlgELLQtagENDraeSXGF32j02lmj1wXuJSCaL7LHY4/CXeYHeOsFUkADrvEszIKBTvgPrGrtaXg5sypA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606744248; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=hSwVXLL1Aj3iX2zTtv56qUts2sp4oxAmo9M3d7X7ofc=; b=MGeZGPrfy+q6NykoFboVWnHclF5mtBXJ7tuBOUJXNkkYoWxWHZJWCIkmV5otJX2SGRFi64HXNE1R/RRvPpPLrgG1m01mEQfo/7OGYJ9Mu2Lo9f+tqe2lfMfqHT+pKqI7IwOTzQtVHrfj0XBhXCcOWWYX2lMt4WwCRSFI2HmFQ3o= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606744248892682.5869814787966; Mon, 30 Nov 2020 05:50:48 -0800 (PST) Received: from localhost ([::1]:45096 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kjjZn-0007fk-KH for importer@patchew.org; Mon, 30 Nov 2020 08:50:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38438) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kjjQC-0006ta-Fj; Mon, 30 Nov 2020 08:40:52 -0500 Received: from mail-eopbgr60102.outbound.protection.outlook.com ([40.107.6.102]:37262 helo=EUR04-DB3-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 1kjjQ9-0000RG-Mb; Mon, 30 Nov 2020 08:40:52 -0500 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3447.eurprd08.prod.outlook.com (2603:10a6:20b:44::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.31; Mon, 30 Nov 2020 13:40:43 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::d585:99a4:d7a4:d478]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::d585:99a4:d7a4:d478%4]) with mapi id 15.20.3611.025; Mon, 30 Nov 2020 13:40:43 +0000 Received: from kvm.sw.ru (185.215.60.91) by AM0PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:208:122::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.23 via Frontend Transport; Mon, 30 Nov 2020 13:40:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZED9kdwXsna9H0okpLv5Bj9vzKiW+9z5c+f2X+ME3o3+68SNsuOsWCTz+I7PafTHoUxD5Z+SCQldykWmuEZbkkiYVmOoBMyu1WFAQz8esIAyA0KKbseMfOFs4pzltZ+2dtWSj3CUyTRaYcyjd+uGO1tWjpPq0iGIECUqHT39iVGVJkMnYviyZd0uU4BOCmn47oFiiM5nFhfOIg2K/BMaU1ftKFeri4tZD0KvHTYuI70LDXpxB8iTnF79rBRUUGWp6fqtu6rQV/7d2RocCL1vEK4YQQxxTG6ZOPJ+iBZTxg74+/Osdz5oe6CxhD5XXXcI++Oq3TnA1XfS5kHcl01NYg== 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=hSwVXLL1Aj3iX2zTtv56qUts2sp4oxAmo9M3d7X7ofc=; b=AVpcGgGkYHmBynR6LtDBm6FrtJs8mnfK7BE/3AylrFbkZv79aXeXiDIFJ57o9MG1WUzhIQBjpnFxtMBJRunL2NAXFgdfNCY64tIPPvhVchmUxjE1d5DPGmT4LI2RguwL9AO09uXyEdywXG/7564Gp8DHsutOf44DZZWaen1Xdni2L2XusYPMj/pHkhraeBnm7jJW8WtDMZ4aMMqMyif51iPtNxctPn12DQiuuSN/cX747vlCts+E+VlpigkUkbtI851QEn5t5T9n6baMlpfR+IS3UgidJWoOZHR3j2gykE20zzZ8Ka4RF5w57id3PClH+q2Cf5PiT8DXhsXjw+sVAA== 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=hSwVXLL1Aj3iX2zTtv56qUts2sp4oxAmo9M3d7X7ofc=; b=wGbz/LBhAe+fz6M0L04hlql9bP0Z6knAsPtuDmOgoOAgVKfwdwnx+SSuFjQCMeKjLF4FIzsHiYPDusEefNIzn81SAD4MibfnZACOUjYOIddVRrbEue9gFJP17wPEJvzat7XuSoAdvtRqkg6ZceP/WcOF6IYwDNybd/p1e1CkFdM= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, mreitz@redhat.com, kwolf@redhat.com, eblake@redhat.com, vsementsov@virtuozzo.com, den@openvz.org Subject: [PATCH v2 5/8] iotests.py: add qemu_tool_popen() Date: Mon, 30 Nov 2020 16:40:21 +0300 Message-Id: <20201130134024.19212-6-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20201130134024.19212-1-vsementsov@virtuozzo.com> References: <20201130134024.19212-1-vsementsov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-Originating-IP: [185.215.60.91] X-ClientProxiedBy: AM0PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:208:122::20) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 11ac443c-a8d4-4524-41be-08d895358883 X-MS-TrafficTypeDiagnostic: AM6PR08MB3447: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:605; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zza2hNzKW5aOGUyH8/OnDcuD6PFdSteigIOOyTc0szI2heFORQo2QzRV6cXg/7tZfPDmjoNbVlQnBh4Kmbe+TdRoxt+7MSpXkukev4RyN/CusEjKQ+IlaI18TDDted9rZcx9ob/csdajWUlAJHMxCoCN6O2kbum0vBF3+r2AhpN252LlZURsy321RFVYat7Ey5AByE2QJ+LNfOFk3B/Bq/0zTazP7hMHKy3SWpndBKTE1SJpvQPiHGEUzSIJITe/up9a0SF6GTfo/2x4pGGqjFIWgGYIvzY/EORdMERyxon0Z3t/tkv14nWOrzcciMrtfgKfK/0wHKQtJ4fyWh7WQw== 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)(346002)(366004)(376002)(396003)(136003)(39840400004)(52116002)(4326008)(2906002)(1076003)(86362001)(6486002)(26005)(107886003)(8936002)(316002)(66946007)(6916009)(66476007)(478600001)(2616005)(16526019)(66556008)(186003)(6506007)(5660300002)(956004)(36756003)(8676002)(6512007)(6666004)(83380400001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?S7bdhvJ/w0dBtl7VGDjuVBcDDdFM6L24dZZZqu0cMSDF8j+zuNvyk7LakZQO?= =?us-ascii?Q?9jmPeM46I7yLriDa3myPagVqJ7AIFZVBEpxjcIHpI1vK/7xguZOW1dlRJHEj?= =?us-ascii?Q?jHyzSf9/Hnx0JDMQ4iPcqLWb6T41p898H6eN1C+9TI5cOVYUdD4IkfMxeMLL?= =?us-ascii?Q?vPUAAe3sZ4Ka8jXW4UWarsu922hLFhPdj9wOVIw81Y+lTEhORgC264pg+nqB?= =?us-ascii?Q?HgJ2DgEf7iPO6gP9oORogipnMJEeKlGjDiZ7oYrHV/tVjjiMUmZaXunwDlsh?= =?us-ascii?Q?pEOXLh7+ZWzObfUXO3nu+TOrjb197HSSy8erDIbJRSOhrPnHN5Ww/FzEDp9V?= =?us-ascii?Q?Qakpcz+CvEvw9YFm+kR7OvEDU240X/XUevsPM5CNtxvkOnRsHJ6Y6rvkk4Ft?= =?us-ascii?Q?ePcsJzpb+iiZLHcuQ41aU4kPXi7/aLHpDuTPYciyN6+cFXOCnys5jelyzBSL?= =?us-ascii?Q?p+ANJdeKQCJRdiPGC1PU/P/AbGwQmsVkyJOKB0tqsUHovqWvkGigPjWyFmeP?= =?us-ascii?Q?5oSlmCg4zmBxlzuXuaLK0dM5TZOTW2mfbsLzqXxDpuu4N3dEWPNCh00HQ1zO?= =?us-ascii?Q?3Lmht0h5PGIfdTPnKNIJEe4KsS//Sa0Ioe0UdfLg3GUr97I2LooOokEVh8E9?= =?us-ascii?Q?/hJ3v7y7dhlZWDuQXhae5fj4tdBBPbx0gCR48PU2PpPrwLf7wwMUoOwBaGXe?= =?us-ascii?Q?OQc5q41xFoOruHzUIqEh2LbklTKReLoTmgkiD2wUdMvpWyUbxY1bZXkeBMUc?= =?us-ascii?Q?ExD74n2PzxIaR6i1WA70yfRIJ+etwO+5uGLWrGznhgavcBuV1y1BaEtce/8C?= =?us-ascii?Q?4VMk0GX3A81CwP7xaJsGIW9aUfqmONgFBu4dx4MCx6yPMYz/yrEvPCg60UNl?= =?us-ascii?Q?Wu+4vNAT2wNldM8V6Dwb5ELi7ZN6G8LNReXwO6fUNiRgt0f6+g+l66jD1doK?= =?us-ascii?Q?54iLUIZYad6CE36zsebrIz6qAqiZe0HtD0sNPEIymeFA9r5C/ptW1MqEMKbf?= =?us-ascii?Q?vhdL?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 11ac443c-a8d4-4524-41be-08d895358883 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2020 13:40:43.2070 (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: x7CzrhRCrMfRzr/ftNt/AAZ0swXlIZftRfDIEKy7LsKJ+kmn7n9oNwFP3GpeQfSy3nWVpMYnQX/awc0xiMKXF+stAXoELRJ7FOq+e+0/5BU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3447 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.6.102; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-DB3-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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) Content-Type: text/plain; charset="utf-8" Split qemu_tool_popen() from qemu_tool_pipe_and_status() to be used separately. Signed-off-by: Vladimir Sementsov-Ogievskiy --- tests/qemu-iotests/iotests.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index 6c9bcf9042..df9834e43a 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -89,16 +89,21 @@ luks_default_secret_object =3D 'secret,id=3Dkeysec0,dat= a=3D' + \ luks_default_key_secret_opt =3D 'key-secret=3Dkeysec0' =20 =20 +def qemu_tool_popen(tool: str, args: Sequence[str], + connect_stderr: bool =3D True) -> subprocess.Popen: + stderr =3D subprocess.STDOUT if connect_stderr else None + return subprocess.Popen(args, + stdout=3Dsubprocess.PIPE, + stderr=3Dstderr, + universal_newlines=3DTrue) + + def qemu_tool_pipe_and_status(tool: str, args: Sequence[str], connect_stderr: bool =3D True) -> Tuple[str,= int]: """ Run a tool and return both its output and its exit code """ - stderr =3D subprocess.STDOUT if connect_stderr else None - subp =3D subprocess.Popen(args, - stdout=3Dsubprocess.PIPE, - stderr=3Dstderr, - universal_newlines=3DTrue) + subp =3D qemu_tool_popen(tool, args, connect_stderr) output =3D subp.communicate()[0] if subp.returncode < 0: cmd =3D ' '.join(args) --=20 2.21.3 From nobody Sun Feb 8 11:07:05 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1606744160; cv=pass; d=zohomail.com; s=zohoarc; b=mCRMO/AbumZ3eu37LjmHWIFxscQGTVgxOaC30XBddcl6wzvawAoaULzUMeDrVmUFgiWfUR63tsOEEbZxZVntqJUmrRTxpP57b9d0kHR84E4mFY38474iNTSfTtCkHFv1FfctdFApE1MQVG1b4nbP7vAuAx3yOHRoajqjt8dU3FQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606744160; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=0BeuCo61nSlA0JwQpzJzEHrRceSW1ZLFVIZw+mYEaJU=; b=nR8g/5PakkSnDrGinI09WnKCoOdTAz6HXqmh02PShPAfJt//sGEwFZp6+ir7WCs+5loLRqeftdEN+duyvmqqEmTL29M1WshEM8ZECfWse0wI0GpkdTJKf1WFR1zVnIPKQFrQ2mIYzuYkwcRE/G4fm//GJthR0nVG0MPhpQjrr3w= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606744160949257.5278580853694; Mon, 30 Nov 2020 05:49:20 -0800 (PST) Received: from localhost ([::1]:42110 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kjjYN-0006PB-NU for importer@patchew.org; Mon, 30 Nov 2020 08:49:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38496) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kjjQL-00075h-0B; Mon, 30 Nov 2020 08:41:01 -0500 Received: from mail-vi1eur05on2135.outbound.protection.outlook.com ([40.107.21.135]:61792 helo=EUR05-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kjjQI-0000P5-Rg; Mon, 30 Nov 2020 08:41:00 -0500 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3448.eurprd08.prod.outlook.com (2603:10a6:20b:50::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.31; Mon, 30 Nov 2020 13:40:44 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::d585:99a4:d7a4:d478]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::d585:99a4:d7a4:d478%4]) with mapi id 15.20.3611.025; Mon, 30 Nov 2020 13:40:44 +0000 Received: from kvm.sw.ru (185.215.60.91) by AM0PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:208:122::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.23 via Frontend Transport; Mon, 30 Nov 2020 13:40:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PGdgcwI7oxeH91HohaJzR4S6zsJ4T8iERdO1KIaVTaWzVLKQBENvv8RvJnT6W3g5HLfouiyl538Z15FPyCTW7tHZpDv15hRoLTIvEdPYz4HcA3TuvwXZD+nBE0MeyzK+6t6M7bgBtWpdBSjruiK6WWejDnpDUEFqprSpCLeZfxsI2xT1nGslzAnSamIB8SJTTA1HO1iX9TuUAQ++HQ4ApFlYCs1nMenH512qD2x47MYRd4K9FgHJ6+jh62VxfFbH9u89ycBhm1GPB85MfOCQefh+PAwAbx8KPMVqmhOVWj/GVCcGzW5llya2a8eYHEpnK3ATBgr5tyTvGdz8Hw4e0w== 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=0BeuCo61nSlA0JwQpzJzEHrRceSW1ZLFVIZw+mYEaJU=; b=kQQIEk3WPM3rcslbVogL8QG0chZaB+qbVAUdukN7GQd1Y7QUbNjrIO2v4nFdtkaqJUsXk2kN9gT2CJj1RBvdrVIWFgPeqSDlMN6PIjEQYJlqGme9AXBSUMPiVRl9QUes9usDAvPg49oEOKUj3dHbSY8MZOPvIBu62BE3r0jv4Dnkh84y5zkG5tLzWj95AgYSqki7quaF70qTZbnqSTmrTb+t6t/f2IhWnjtgL62NhJP6tNUOqeXLBMzcNVM8El5y9MkgqJBsPmGTuCZWxdPI+NXRAlg/3lvnrfrr7Nde2Eaj554Rn9iPtsgdDUq2PQhrxGcBDOluzu7eA0mWUDbbWA== 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=0BeuCo61nSlA0JwQpzJzEHrRceSW1ZLFVIZw+mYEaJU=; b=oxt08xECSa0LYbAYFLcgMVO/i/q0teMV/SYgxc6yQIbAdvwWMjRWjTN0G83PFvp9MMXoSraKpU4uPRZzt2B2H7gKFbOVnyWIXxerpncLawa22HixxgL1JOMHT7uWIzrVeQYTe0V6RQD0UELvCCTbfhQ0u3g830EK/UuBHVozNTw= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, mreitz@redhat.com, kwolf@redhat.com, eblake@redhat.com, vsementsov@virtuozzo.com, den@openvz.org Subject: [PATCH v2 6/8] iotests.py: add and use qemu_io_wrap_args() Date: Mon, 30 Nov 2020 16:40:22 +0300 Message-Id: <20201130134024.19212-7-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20201130134024.19212-1-vsementsov@virtuozzo.com> References: <20201130134024.19212-1-vsementsov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-Originating-IP: [185.215.60.91] X-ClientProxiedBy: AM0PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:208:122::20) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 932912d5-0f78-4dc9-404a-08d895358909 X-MS-TrafficTypeDiagnostic: AM6PR08MB3448: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4941; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tWL3CVZrySL10fmj57IyrKnz463yhXwWXqE/BuEBTvdzybGepUfXIQLbtWVqtqrvq7nqHc3ADa6Zjl7Z3H6IDUaBMVoYWSinfdy0OzebZHW270n7sPxVVHipqjGv+It5xfxG+ShhlPWK69Qvdfrkg6hEyVKk7hQd7CfyvPkuiAVfVEoxJQDMX90cNbqk6eMZGFuZ3fCTtn6nwRrmLHVNZkd7F9FcoSFhKQtF3NfrJ70PdyvheBILSFGX8Mi6vsjn9ieJS7dQICOUNCPnAdk5u5OTaxgTwi6eyNJLNsJ+HNKQBqGOeBFhyVwVKVKHZaC4Qm60GEJajMCSRdOkuQnlEw== 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)(366004)(346002)(396003)(376002)(39840400004)(2906002)(478600001)(52116002)(6666004)(1076003)(4326008)(6512007)(8676002)(8936002)(86362001)(107886003)(2616005)(6916009)(316002)(956004)(6486002)(5660300002)(6506007)(186003)(66946007)(66476007)(66556008)(16526019)(26005)(36756003)(83380400001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?Q2k8MUYPBYbioUyIMkAZ4D5RyP09fQ8o2h+QP9OmJhuuFREwfwpfgo27rz63?= =?us-ascii?Q?jkS9ssdddGPnz4FeUd24+a1x6gX438N0vUruruYHyXp/JPfNm7BTsMvTk83I?= =?us-ascii?Q?byTnhk/k3dM1Z+GAREpIEiG6XGpXTgexRvhUDPxiwzxjXV0ruKSZfhfv5Nqo?= =?us-ascii?Q?U09j2XhAcg1k6Uvphlx/0OmuoDenkIgSdLcaaM1+rzXh88accn8cyuuC4tuV?= =?us-ascii?Q?bDhOgYtrT5IwwEWUJ0/hVFd9qjJFrJz6BjpEG7A/YxzIzh1qbdSeE5+GgMNF?= =?us-ascii?Q?sRJeCsPGpmcOHmiOcnU3udHA3lKOVynvUzPf50NZxSZO9XNa/7SU9FvPD3Iw?= =?us-ascii?Q?cAGmIrg9i8HPtbDmp+FhdhteH1eQjQ2kjFtXQVMrJwhDWyN7bLSBjRakq5oL?= =?us-ascii?Q?3DIH2+6EEqTNZzGjIYt6viIRDg+0o/vd7nSizN6sAL7SZ2uR9JE9l0eYKiyk?= =?us-ascii?Q?8QNKq+6J3tnGancmGQTHJsDD4dehcerhdjqT1nClIYBeBJC8M2MccYoKJNYq?= =?us-ascii?Q?3eCX5WZnhXhzp2EN5pUEpsMDOwNqYp2cxQ8qd6a+9OMlcF/4zhsQ5BQAB1EC?= =?us-ascii?Q?Jfx/lY4iWTaxqpMbYHZr72s+GEbpQCYKi37epm5UptRzUyrbh6N0MxGi/OXx?= =?us-ascii?Q?c9UOkaXunkOKRDP5QfrYUuPNe5iemlWGLojy2wm2Auyv5K06vcY3MZ6CAErH?= =?us-ascii?Q?ytqVYdevXnu6lqCiGXmpzT0JhGIuJhkEoALQAgxAhVbigkZ3HZADMsLr4dMi?= =?us-ascii?Q?+7M22/OXc1vbUonMv76eY82FCx+5fVvRaJbm6lLyo2QlStiVFifMja03T0n5?= =?us-ascii?Q?nIWhs6Bd3wo30SsciXMW7rqIrJpl+flMP16Oi1SMoLlczwI2wD0zHNwoKbaR?= =?us-ascii?Q?2/+zaRql/TuLA4ivDYAhyM8yKkiJVATjNhv8/9FQJXeaT0C8b3cDEIPhg/LP?= =?us-ascii?Q?+djL7y/D63vqo3TUam3fwQoA79k0wUGoQVNOUFys2uRR+yhoxyMt/XgphDvw?= =?us-ascii?Q?DHO/?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 932912d5-0f78-4dc9-404a-08d895358909 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2020 13:40:43.9806 (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: dqUEs8WWoZPUQDvOGsaf31ao8d7g/DTNEunaQWpWfOOfKXYia8lBqQzdFxYjVhYBfKogH7FXKVIqQqbT2sXvxfLMNyKLIeog9C1Ayl5ju5U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3448 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.21.135; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-VI1-obe.outbound.protection.outlook.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) Content-Type: text/plain; charset="utf-8" For qemu_io* functions support --image-opts argument, which conflicts with -f argument from qemu_io_args. For QemuIoInteractive use new wrapper as well, which allows relying on default format. Signed-off-by: Vladimir Sementsov-Ogievskiy --- tests/qemu-iotests/iotests.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index df9834e43a..393028eb9a 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -190,10 +190,15 @@ def img_info_log(filename, filter_path=3DNone, imgopt= s=3DFalse, extra_args=3D()): filter_path =3D filename log(filter_img_info(output, filter_path)) =20 +def qemu_io_wrap_args(args: Sequence[str]): + if '-f' in args or '--image-opts' in args: + return qemu_io_args_no_fmt + list(args) + else: + return qemu_io_args + list(args) + def qemu_io(*args): '''Run qemu-io and return the stdout data''' - args =3D qemu_io_args + list(args) - return qemu_tool_pipe_and_status('qemu-io', args)[0] + return qemu_tool_pipe_and_status('qemu-io', qemu_io_wrap_args(args))[0] =20 def qemu_io_log(*args): result =3D qemu_io(*args) @@ -202,7 +207,7 @@ def qemu_io_log(*args): =20 def qemu_io_silent(*args): '''Run qemu-io and return the exit code, suppressing stdout''' - args =3D qemu_io_args + list(args) + args =3D qemu_io_wrap_args(args) exitcode =3D subprocess.call(args, stdout=3Dopen('/dev/null', 'w')) if exitcode < 0: sys.stderr.write('qemu-io received signal %i: %s\n' % @@ -211,7 +216,7 @@ def qemu_io_silent(*args): =20 def qemu_io_silent_check(*args): '''Run qemu-io and return the true if subprocess returned 0''' - args =3D qemu_io_args + list(args) + args =3D qemu_io_wrap_args(args) exitcode =3D subprocess.call(args, stdout=3Dopen('/dev/null', 'w'), stderr=3Dsubprocess.STDOUT) return exitcode =3D=3D 0 @@ -223,7 +228,7 @@ def get_virtio_scsi_device(): =20 class QemuIoInteractive: def __init__(self, *args): - self.args =3D qemu_io_args_no_fmt + list(args) + self.args =3D qemu_io_wrap_args(args) self._p =3D subprocess.Popen(self.args, stdin=3Dsubprocess.PIPE, stdout=3Dsubprocess.PIPE, stderr=3Dsubprocess.STDOUT, --=20 2.21.3 From nobody Sun Feb 8 11:07:05 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1606744436; cv=pass; d=zohomail.com; s=zohoarc; b=GX8Jm9fLMquFh3+rJlqqMvbKNI90tmMREfhMcTkf5yOh26+w55lKkFh9w7bJvQHi/EeQBQKMQYLADYJz80DpYMjkaSWBPwCXKsCEGb2OXmQbzghrPZyOPMRfrbzIKFiv1UHrHY9uPa35tvoFEEGD5HpQ1YRB+JKkL5XTq3yRuGY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606744436; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Y1xS9ZdqIIkUExBFpJgDyGIF+HBdRiuTqOqgsWR6qEY=; b=LYJrNr33C5P5yT8Go/Tq/w17qloHJp5dxBu+TszKx2AAZQ7AxEXg7C36YLsHNIickIvugjHTiyMoLve3sKarYJcK8FE8nzH+8zntEHE1M0v3lIxdHBT04A/sNE/juDH58tPmweFeW4L0CuJXCJMFcXIzXwJvecZVqdBvj/4tIdU= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606744436800114.31759155326085; Mon, 30 Nov 2020 05:53:56 -0800 (PST) Received: from localhost ([::1]:52364 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kjjco-0002Qr-NR for importer@patchew.org; Mon, 30 Nov 2020 08:53:54 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38514) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kjjQN-0007BQ-3v; Mon, 30 Nov 2020 08:41:03 -0500 Received: from mail-eopbgr80115.outbound.protection.outlook.com ([40.107.8.115]:22148 helo=EUR04-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kjjQL-0000SL-2e; Mon, 30 Nov 2020 08:41:02 -0500 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3448.eurprd08.prod.outlook.com (2603:10a6:20b:50::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.31; Mon, 30 Nov 2020 13:40:44 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::d585:99a4:d7a4:d478]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::d585:99a4:d7a4:d478%4]) with mapi id 15.20.3611.025; Mon, 30 Nov 2020 13:40:44 +0000 Received: from kvm.sw.ru (185.215.60.91) by AM0PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:208:122::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.23 via Frontend Transport; Mon, 30 Nov 2020 13:40:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Nc9VdZ/ZH3yumPebzE7H8ZEn3yZMAZe0Ti9UVfueiz/y90rxrKDVxCB6zgesLgmVwPEwCfYgrMmcyrLX0sQcoDr9cx2oLpXtINbpZwER5YLCv2budf3B4JJdDAaA7E7EvRuGKIuqeYSrrZG/dcpdtziKnUteIDXYSII9S55aiFZHGigj9Fz6B1vC3F+TaolGUoEovW5IhU40V+a3f6fDKLKNsxsdZBkmUkLi5HikJcZzgRhaje69gCJOjHvcEV7LwfoaQFLW0jQJDRzig3SUdnFwlZI1Nym1mwcPpR27Zss+F3g3kQz6I3FUwOTCMn6BrCBvjx9+s6ygNYalVi8+HQ== 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=Y1xS9ZdqIIkUExBFpJgDyGIF+HBdRiuTqOqgsWR6qEY=; b=Kg1RTX4Evgk+r3E+9AFcMKOcxNUwfTuz+KdKu2++8xVLrMsZeSro+rZfh0RHGROW1z15z9p4yhtZldB0uKG4fiQP9gLLXjVr5fFZ1RWlNHYxYFxsQf2s2wCW7cYtDpm5ZhgOEszkH9Kx2gkwKgves0xNCs58Y2TlNlTa8JNSIzzEVjvCy9QFf27PWYjlyHoC1KyapEs+G+sdGhWO2BTw7CFTIcbCc0OTT/tsLCSEat2DvFBj28oxxZt5uPjLQHYiWaa21gXShEW0MA1rYXf3QLNOvABRR/alHgHKBpW34aggx5OgnTY91DLUH9BzsdW95iE6erxENH24wGJGo2Xq+g== 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=Y1xS9ZdqIIkUExBFpJgDyGIF+HBdRiuTqOqgsWR6qEY=; b=qaxTDjo/yY8AgtO8j0PW600qtt4LBuRr6NomE9Wigj4+xO8FhLETEvvBvn9VrMDbNuRkQc3Z04tN26zhsVgcv9AK1ZhFV0ZzF5FJ1KNSpEMoxdeMO+nUMPfjx8GzTg4NsF1QWH2iKdmq6hmblmmg64qXoSgL//iYjvBlI50uUkU= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, mreitz@redhat.com, kwolf@redhat.com, eblake@redhat.com, vsementsov@virtuozzo.com, den@openvz.org Subject: [PATCH v2 7/8] iotests.py: add qemu_io_popen() Date: Mon, 30 Nov 2020 16:40:23 +0300 Message-Id: <20201130134024.19212-8-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20201130134024.19212-1-vsementsov@virtuozzo.com> References: <20201130134024.19212-1-vsementsov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-Originating-IP: [185.215.60.91] X-ClientProxiedBy: AM0PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:208:122::20) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c925cc5a-192d-4558-c0c4-08d895358997 X-MS-TrafficTypeDiagnostic: AM6PR08MB3448: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:317; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Cz13Jbp+LRkIdhXmyY06egGW1TUWIEcLwdDmz/P+McJTo9CWGQMqEInbaZqDvA8GK+JzMB+3hyk27J7tlKE/xvhTLn45bp0Xbk4W+AfWREt5tDVo3H8bbhCiiv+pgzF3hnQ7KjEgJsFDJCp7dPNMr5WvzMIn6RL4OcH0x96JjBtlKo4qmoSy49P9PDQAlAg9GJ02oNVjUYSnHP0/MER7KgPXycN0ff/NGilAHc5cNqN0WqANDY91lGrhTv2ktPVUWwBbS+pty9ofDHnskB9G9D3HIUsb8V9eqzV0GUVbTexz1ALs9WyiOr/isZZzjgtQ 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)(366004)(346002)(396003)(376002)(39840400004)(2906002)(478600001)(52116002)(4744005)(6666004)(1076003)(4326008)(6512007)(8676002)(8936002)(86362001)(107886003)(2616005)(6916009)(316002)(956004)(6486002)(5660300002)(6506007)(186003)(66946007)(66476007)(66556008)(16526019)(26005)(36756003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?oaINkNalktytxke6x4PL/4htAvg0qZW5E2g/HyNqQXySKkHXwbgBHDEar856?= =?us-ascii?Q?ABHijj0FrJk9j2tvZ9VZr1xdqhPoRFSrKMoaxywEg6MrF5SMDVMoNGGZKIzV?= =?us-ascii?Q?I/SmDItsb+YknP1cIQpALa58I+viOGm9+fVUx6SYtK967vl5mEjKgZGFtcr0?= =?us-ascii?Q?Cp7xPoZNgPVqvE4FWPLLHArPmB4aEHnwmBW8vLEv+7OZVRiDq1umZJvT4PPg?= =?us-ascii?Q?8bMBxahjn0UrgII58JjNEJnIxJmbPiOFKADnDJdchZSsNyq9SFYT54eBI7Ua?= =?us-ascii?Q?jWEOwqXQdUyZ7zpUjVhsx5rTh1qgF4sqPln3zoZyddKbNhTZVip3nnFCRbsG?= =?us-ascii?Q?ix2c8PrWZ/LOPHyIl6vUOs8RISmUtge1BES2VyGGmJIxfYrPRJ9uNpdeYAgW?= =?us-ascii?Q?3ezy28XGau4sMKsJVruRBZni6psuOsBQyj+ovkWoJnCHKCbZMC7IcrRtOidA?= =?us-ascii?Q?2ZCl3TSHvnvCYRLMbQDd+CUDX0/4Zs4COKujlUUo1RtW1S4SUNoFmR/DAix5?= =?us-ascii?Q?EwtCvjNTm5kYLPS01n3quv6CERdt+JGni/Eq0dMuhzbcRICJap7p5mq8poDx?= =?us-ascii?Q?veEEsAV3uX0K3JsDBVgGyCYWJ+6ugmGw1Svnl69Ph3zIzdMLHTuHQg7PE6vj?= =?us-ascii?Q?TrEQGmhbC7Aw5XiPH6fc4OSNbWHTsEME0GFSE3GAP6yZ/8ewD6XZTyPa1Qyb?= =?us-ascii?Q?c2yGIQiUCJZmtKZfB1vaxrNevN4H659mTHcq/x0Bi4CJ+RxQHyQw0008rkHf?= =?us-ascii?Q?32jusWz2pJsa+duTy89ny9+iWGM8q549Gu7r+O7wNH0oxXnLhZv9H42d3ycV?= =?us-ascii?Q?bKeADSG7bVw1XVAoS8EYjT4RQKFusbT6Pi76UQFqbEmNkDPoEKmaf+kebB73?= =?us-ascii?Q?1JQZUXRwtXGIcrDMx4m8MAcQuuCoMja1JwrenmW562Ao5rlyeUmMo3Lxp48q?= =?us-ascii?Q?RNjq6Lt5hKGrHkWPUPri+gW/4VFZKuNIUyES4dp9yh09guIMPV6C2RimELTu?= =?us-ascii?Q?VqUG?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: c925cc5a-192d-4558-c0c4-08d895358997 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2020 13:40:44.8408 (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: nGOkycQjqWFRxdFcNMs7QNI4ys/FuMc29fQ3t7/cu46ULZZbhtbSui3vBE90QDUF4fGMv+frFygyxAGscxvXq2aBieD25TZ5xE5K+fmA85s= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3448 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.8.115; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-VI1-obe.outbound.protection.outlook.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) Content-Type: text/plain; charset="utf-8" Add qemu-io Popen constructor wrapper. To be used in the following new test commit. Signed-off-by: Vladimir Sementsov-Ogievskiy --- tests/qemu-iotests/iotests.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index 393028eb9a..d7b488f7ee 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -196,6 +196,9 @@ def qemu_io_wrap_args(args: Sequence[str]): else: return qemu_io_args + list(args) =20 +def qemu_io_popen(*args): + return qemu_tool_popen('qemu-io', qemu_io_wrap_args(args)) + def qemu_io(*args): '''Run qemu-io and return the stdout data''' return qemu_tool_pipe_and_status('qemu-io', qemu_io_wrap_args(args))[0] --=20 2.21.3 From nobody Sun Feb 8 11:07:05 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1606744431; cv=pass; d=zohomail.com; s=zohoarc; b=D2KzH6FVn6vlsCFNqyjimFM/5/9P4lQKTApvmAMNPn5nijLshZIcmJ8RhWoJCb7WcAS+0CTY8x5KuwctO2PJj8AG8Vu/9e01jVi94i8422TzBs9ZqUz7ohtblH49dfN4ADE6jt8lxcTmZXX0m7qWZrKPd0VaYciAp7JgDZxTNyo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606744431; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=IKYCtRBCRKH+QoKt7KmBTfV113rSvbTK9IirGwZ5Ptw=; b=Xy6dStNL20kT4QQFY95UyjUuHifeGjHhzIgrLr8jX87Qw/8WfZa3CtKvoDB9YBMvL1ek52hOuwAYIBHR6ixbiXjDj+YMNff/kHaWay1u2O920HfajRAR3QEkC6dEK+MNIhnQAK2XwXffOSIByNt/MRjnUvXA+NlOUJ/wOfRQUFw= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606744431795540.5784720220566; Mon, 30 Nov 2020 05:53:51 -0800 (PST) Received: from localhost ([::1]:52104 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kjjck-0002KD-JQ for importer@patchew.org; Mon, 30 Nov 2020 08:53:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38480) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kjjQJ-00071J-3A; Mon, 30 Nov 2020 08:40:59 -0500 Received: from mail-eopbgr60102.outbound.protection.outlook.com ([40.107.6.102]:37262 helo=EUR04-DB3-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 1kjjQD-0000RG-5T; Mon, 30 Nov 2020 08:40:58 -0500 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB3447.eurprd08.prod.outlook.com (2603:10a6:20b:44::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.31; Mon, 30 Nov 2020 13:40:45 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::d585:99a4:d7a4:d478]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::d585:99a4:d7a4:d478%4]) with mapi id 15.20.3611.025; Mon, 30 Nov 2020 13:40:45 +0000 Received: from kvm.sw.ru (185.215.60.91) by AM0PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:208:122::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.23 via Frontend Transport; Mon, 30 Nov 2020 13:40:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZmngxaXTHTKzSqCNpW9k+FLjrbbgapl2qgnPfmbntVEX2mG7UEEoWr9G14Wn3LtLoBmJYCHoF5NW+qHX+8xCopdLl7aANutpQGyiX7OnXRUUZgGTJKHDia66GtnARWGkbC13g8bRyhz2dKIqJXlw+W35O+zTomrtEcuEQXeYZ0L5dzZRtQBEgKhv6mO+Awm/KZLqUWIYjiUAmu2MUZgUxRF08R+z7KwT+Os+II36HH+UubIUAD4WRHjQIX+Nw5QQE+m8ZdSn1jDl6oJjGvioUr4d+fqsHTC1SwLd8kr8r/N40D4mvgDmyI8OEPOD8rKr4s2pKxSN5JdMSkJyQCUV6g== 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=IKYCtRBCRKH+QoKt7KmBTfV113rSvbTK9IirGwZ5Ptw=; b=Ys6tR0QbSerFJl9PFKhBbscuUUE2FruvFJOZ+NBxhY7iBAP7QT+X2sNP6Ef0UWR/MhaNaicX07nf85E/RfODo0cbcgCXnFl+e04QBlKIdTAL4k3SaFCkFGqHMFX2LRTMFGU3vFtxhcoowusYfrxc+F66qCF5sa5u30fPjpzdEAsQZy/rpOpj2YLdvH0pKHLg0brqbeNjmWB3kIOx6JHHu5G0gAwCXKyxYEy0R5KiVUswERO6FbHTi384Bc3zRdz8+FiM+szmpgsU6Chh2F5y3fLz1J2BoIPmLucEwXV2BLBqe3JTdfMR2JPjl/llgI/sY7lGTd83Kc++kFlWVVyY9A== 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=IKYCtRBCRKH+QoKt7KmBTfV113rSvbTK9IirGwZ5Ptw=; b=HAv7RhulzSbySuogxWCDeg/zzYLMzCTE2bWKBgelVcWZML2i4hgC7evMvnGjr2KYsK53m3PNp752eHxdwobpXwSGwipmdBd0LKwcJhd+l+TTCPxv8GKJ6ajYv1tNBejNQ0n4RYuIWjJtgITxnlpQE2yKwiIgopJ97Syvju2yMU0= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, mreitz@redhat.com, kwolf@redhat.com, eblake@redhat.com, vsementsov@virtuozzo.com, den@openvz.org Subject: [PATCH v2 8/8] iotests: add 306 to test reconnect on nbd open Date: Mon, 30 Nov 2020 16:40:24 +0300 Message-Id: <20201130134024.19212-9-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20201130134024.19212-1-vsementsov@virtuozzo.com> References: <20201130134024.19212-1-vsementsov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-Originating-IP: [185.215.60.91] X-ClientProxiedBy: AM0PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:208:122::20) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2f4ed9ed-80f8-49f4-ef96-08d895358a14 X-MS-TrafficTypeDiagnostic: AM6PR08MB3447: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KnotW7GwvJYRTpDg6kG3nYLEtRm6H5OFMPqSgeaIDGF36HdAjfdJFV3bA/0AP5IUEdMT5BcBu9pWAclqyyg0C7pW7va7gYOxLg3xOTES398hZyJVHLG98CuYTjHidPr1PhjuZgIeQOYlAOcTHrscYQPzm+4ViPQ0b3JPfEgll2p7kBTBuIZjqFh7HDIUJTkoj0YhZMRivLhmNzFcb+XvinzlI7YoE/+kYnFcs6BrUiyMZuuxVuqrECV8tukAnwfNfqAZE/AygbI8PhbTSWzrtfo2i5M3bLf1uKqT+jEUPjmk3jz5511FHLJEhxqnrgfhOzT7qLMm2aZ9tXvbvFPCCuaV+fDtsK6o/RWJPurWb8PiTTpCpIVs5CtEyyApOSoyitPtcmVihpjK2zADYFSLOqEdEUMzB6A8oBbF7YDCKVuKHbPQksR+byqB0+lDvoobvKzEGpRPQwqfskO7zkIRzAw5cgZF5lVJDjaB4KajvRY= 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)(346002)(366004)(376002)(396003)(136003)(39840400004)(52116002)(4326008)(2906002)(1076003)(86362001)(6486002)(26005)(107886003)(8936002)(316002)(66946007)(6916009)(66476007)(478600001)(2616005)(16526019)(66556008)(186003)(6506007)(5660300002)(956004)(36756003)(8676002)(6512007)(6666004)(83380400001)(21314003)(2004002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?pJKbmuy77P6LIjZ+pfeuvuTZdoV7uW0Xb1djASkv90SwGcyzHWRm2WbWA38G?= =?us-ascii?Q?1SPrvGLnSr1DcoanE6zxiKLrePFP7jOy64s69NzCm6+CeC9nZbfFN4MaSpvY?= =?us-ascii?Q?Gr9aI3+3lq2xCheYTc2Qm5XtRoLNIvWTUZ3YpxhN/P4sPLs9PUD92+fMbmX+?= =?us-ascii?Q?TpNmUHYHXlwsC9Ep1Kd/ehr1NqDOkyG8yh1ZlLmKKOfy6cKgCt07zIr+3s8P?= =?us-ascii?Q?+1RuSYLm1ANkMm9VPFPJr6KHEpXwtRpkjcn24/TK10T2zwAbU5bvWScJEWW0?= =?us-ascii?Q?eU/PP3vSNHrJwRccNnhNgdtWETRPNme5v/2F9du+JBkjRzHdShNUFM3s5l8k?= =?us-ascii?Q?c3Epg7vZosnzRgwqZF3x9+AZF0l5nlplhQ9sisefBRoANh7N9eS4YAblNSrf?= =?us-ascii?Q?xj3U/p/OklW8HX1qAlWtoQWandOFt+ii3J4gPYGmVXPuwxRRsqNme/RMwzsg?= =?us-ascii?Q?6Ca5Si9OO9H2CpyXV/rwxTSj8QuX+Oynbg2JPOfyVgdsJfXUsUA/iNrynd12?= =?us-ascii?Q?AqF1vB5n4rMtb8VQk00VTAWpkzi4lRnjxQt5QL5UVCVV9preqqIjzDhJmazI?= =?us-ascii?Q?Pz1jGPThEK+ErpOg7P2J3g10BScXjzkje4zzB3SdGgXqD0NL+IgiNwrNzVLZ?= =?us-ascii?Q?UxdE2h1qlfY4SOx9gqNYGGO1UPX0gDmDztDMeFDVzqTwHHOXU4Y8w+YfTJh7?= =?us-ascii?Q?8or40h3aBMAZBTpgXS+iYhfIi01S2jb3wGyb/isb5k6OW5NLtpYpT8Jw1z8b?= =?us-ascii?Q?UQMLrTdP55Jo9GmnY38gDXAx0vGe7EMIb8p7So04UAFXbmLSiBqCFVv2wTxJ?= =?us-ascii?Q?zEeiMCLjMddAQAKzKWDReIW97doDZk/fQke+mRSZlIiXtq+bI0yqiKoYtbZm?= =?us-ascii?Q?6syFdIPWHYPVkIncDutG4yiEiAuXTkVORnHxbHgLQZ8crf6eo4wIaxAP4ABy?= =?us-ascii?Q?KwDn+9Y3AHAk1z5PdBMukibc265B7b3+2UVid2Jrhm8Uj8+odpBeVqL3Tjjg?= =?us-ascii?Q?8W3K?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2f4ed9ed-80f8-49f4-ef96-08d895358a14 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2020 13:40:45.7469 (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: gdvHPqEV3w2WX5TatKsp1a67KN0Jl+IGFH3nQCFGel9te/onlDV/x+I/KW64B5EdEQodxoddtOhXxKGS+4TXA4nUuCkyrIzkxONfCVaggn4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3447 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.6.102; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-DB3-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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Vladimir Sementsov-Ogievskiy Signed-off-by: Denis V. Lunev --- tests/qemu-iotests/306 | 71 +++++++++++++++++++++++++++++++++++ tests/qemu-iotests/306.out | 11 ++++++ tests/qemu-iotests/group | 1 + tests/qemu-iotests/iotests.py | 11 ++++++ 4 files changed, 94 insertions(+) create mode 100755 tests/qemu-iotests/306 create mode 100644 tests/qemu-iotests/306.out diff --git a/tests/qemu-iotests/306 b/tests/qemu-iotests/306 new file mode 100755 index 0000000000..85216cf088 --- /dev/null +++ b/tests/qemu-iotests/306 @@ -0,0 +1,71 @@ +#!/usr/bin/env python3 +# +# Test nbd reconnect on open +# +# Copyright (c) 2020 Virtuozzo International GmbH +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +import time + +import iotests +from iotests import qemu_img_create, file_path, qemu_io_popen, qemu_nbd, \ + qemu_io_log, log + +iotests.script_initialize(supported_fmts=3D['qcow2']) + +disk, nbd_sock =3D file_path('disk', 'nbd-sock') + + +def create_args(open_timeout): + return ['--image-opts', '-c', 'read 0 1M', + f'driver=3Dnbd,open-timeout=3D{open_timeout},' + f'server.type=3Dunix,server.path=3D{nbd_sock}'] + + +def check_fail_to_connect(open_timeout): + log(f'Check fail to connect with {open_timeout} seconds of timeout') + + start_t =3D time.time() + qemu_io_log(*create_args(open_timeout)) + delta_t =3D time.time() - start_t + + max_delta =3D open_timeout + 0.2 + if delta_t >=3D open_timeout and delta_t < max_delta: + log(f'qemu_io finished in {open_timeout}..{max_delta} seconds, OK') + else: + note =3D 'too early' if delta_t < open_timeout else 'too long' + log(f'qemu_io finished in {delta_t:.1f} seconds, {note}') + + +qemu_img_create('-f', iotests.imgfmt, disk, '1M') + +# Start NBD client when NBD server is not yet running. It should not fail,= but +# wait for 5 seconds for the server to be available. +client =3D qemu_io_popen(*create_args(5)) + +time.sleep(1) +qemu_nbd('-k', nbd_sock, '-f', iotests.imgfmt, disk) + +# client should succeed +log(client.communicate()[0], filters=3D[iotests.filter_qemu_io]) + +# Server was started without --persistent flag, so it should be off now. L= et's +# check it and it the same time check that with open-timeout=3D0 client fa= ils +# immediately. +check_fail_to_connect(0) + +# Check that we will fail after non-zero timeout if server is still unavai= lable +check_fail_to_connect(1) diff --git a/tests/qemu-iotests/306.out b/tests/qemu-iotests/306.out new file mode 100644 index 0000000000..a35ae30ea4 --- /dev/null +++ b/tests/qemu-iotests/306.out @@ -0,0 +1,11 @@ +read 1048576/1048576 bytes at offset 0 +1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +Check fail to connect with 0 seconds of timeout +qemu-io: can't open: Failed to connect to 'TEST_DIR/PID-nbd-sock': No such= file or directory + +qemu_io finished in 0..0.2 seconds, OK +Check fail to connect with 1 seconds of timeout +qemu-io: can't open: Failed to connect to 'TEST_DIR/PID-nbd-sock': No such= file or directory + +qemu_io finished in 1..1.2 seconds, OK diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group index 2960dff728..6ea7b83c1e 100644 --- a/tests/qemu-iotests/group +++ b/tests/qemu-iotests/group @@ -314,5 +314,6 @@ 303 rw quick 304 rw quick 305 rw quick +306 rw auto quick 307 rw quick export 309 rw auto quick diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index d7b488f7ee..2530185220 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -208,6 +208,17 @@ def qemu_io_log(*args): log(result, filters=3D[filter_testfiles, filter_qemu_io]) return result =20 +def qemu_io_popen(*args): + '''Run qemu-nbd in daemon mode and return the parent's exit code''' + default_args =3D qemu_io_args[:] + + if ('-f' in args or '--image-opts' in args) and '-f' in default_args: + ind =3D default_args.index('-f') + del default_args[ind:ind+2] + + return subprocess.Popen(default_args + list(args), stdout=3Dsubprocess= .PIPE, + stderr=3Dsubprocess.STDOUT, universal_newlines= =3DTrue) + def qemu_io_silent(*args): '''Run qemu-io and return the exit code, suppressing stdout''' args =3D qemu_io_wrap_args(args) --=20 2.21.3