From patchwork Fri Apr 16 08:08:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12206875 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B7880C433B4 for ; Fri, 16 Apr 2021 08:17:20 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3C7AF6113D for ; Fri, 16 Apr 2021 08:17:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3C7AF6113D Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:33270 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lXJfD-0003Nb-7v for qemu-devel@archiver.kernel.org; Fri, 16 Apr 2021 04:17:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57734) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lXJY7-0001TK-T1; Fri, 16 Apr 2021 04:10:00 -0400 Received: from mail-db8eur05on2123.outbound.protection.outlook.com ([40.107.20.123]:43105 helo=EUR05-DB8-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lXJY5-0007xx-Kc; Fri, 16 Apr 2021 04:09:59 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GzOTSjrB0aJOH9ZnvlJdL2J8ph4w626dJdyO4qxrPtI09GQ620JYBLy6JUWt7lu/niLREZnXpbMBkc2oVmhutMrAlflzoolS1udHy39YTOfQHeZ/3QetiB6Ns6Kn1h6R38b3BY06pNdJBfi/A1fy9D04ciSttbkk3T3jRtPNRRi00wPvC57trhzOpJFKlJkKH3CMiSfg2D21MHX9f7BOSupqjJFn4pXp9NHyqW4TG3hqWXgNEMVe21BvQd7nFWapFY2Bt72XUMpUnTL0lK09wsKSV0bCIFl4WG2lT+p1rklDo7el93r7/mq4z+qBP18/XyX+CRxmghkPdl3m9cCwZg== 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=QyLFtyvqd9vWQR68F+LPTxA6XgmQma/UqgmxnnZ6OuQ=; b=cEkCpjee4oeSGJ4s3TaWJ1xqcoGNhFPptw6hfyjwzIGkwCXdJ29njfh4M+8p/b/Mz87zKqcj0Z2oDJIlces32kuRwO3eo5JRpujC5+fvzsLEeB1rJeGnJkWVObrmOUHLqtpFx/Aqzyni31cdMku1lQ9H/YP2qGGn+lP2tISIFRjoG1/jlDSTdKCVB50Fs/H8Xn7NiQ+CVTTJzqTxwRH4Ytm+ewQHZTMnkfo4Uqtx2U/H9I37ikRzTi/FgR/X2Vfj02WR/Jyw15IAFOwBWl9JUBjz5fS2zG+xgdi+CNYfdRkVr8yu+4JYHrqvU/bUWZk0Xp23BRB44FG4iOQymCdHzA== 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=QyLFtyvqd9vWQR68F+LPTxA6XgmQma/UqgmxnnZ6OuQ=; b=FDGj6x2lbfQ5qC9kWgRl0tnavSG8OFjIIBf5pAe2slv2oZkANz7X2lb4SATIdpAvaDddnod+C7oB8whb/F/d/4beeZ9vf/8cYbHS1xb7x11zBSg8QIGxe+FQ6VtIPylg4elKqLWUXZORMSPM2g0vCZXC3Zh0oYstGt0u19q2lck= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none;nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM6PR08MB4691.eurprd08.prod.outlook.com (2603:10a6:20b:cc::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.22; Fri, 16 Apr 2021 08:09:48 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::b403:c1a9:6bb7:133%8]) with mapi id 15.20.4042.019; Fri, 16 Apr 2021 08:09:48 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, vsementsov@virtuozzo.com, eblake@redhat.com, mreitz@redhat.com, kwolf@redhat.com, rvkagan@yandex-team.ru, den@openvz.org Subject: [PATCH v3 12/33] block/nbd: introduce nbd_client_connection_new() Date: Fri, 16 Apr 2021 11:08:50 +0300 Message-Id: <20210416080911.83197-13-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210416080911.83197-1-vsementsov@virtuozzo.com> References: <20210416080911.83197-1-vsementsov@virtuozzo.com> X-Originating-IP: [185.215.60.206] X-ClientProxiedBy: HE1P189CA0030.EURP189.PROD.OUTLOOK.COM (2603:10a6:7:53::43) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (185.215.60.206) by HE1P189CA0030.EURP189.PROD.OUTLOOK.COM (2603:10a6:7:53::43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16 via Frontend Transport; Fri, 16 Apr 2021 08:09:42 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 00364896-13ab-41c4-6b79-08d900aefd9e X-MS-TrafficTypeDiagnostic: AM6PR08MB4691: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:34; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qLxL+p2H9pBqpoveKJaiVYtglgWuQtOnR776HFhshmTSmbIonLAZxONQuQi50kdE+lOdsMYgU4fXk03BpSak8u47aUG0ORYdLfrxS8A2YT5oHZEPIbn+Yes7aneOBBKjmFjVZYDGUs8nlyWFhgbGR3oxNGUOrCDC84xDk8Hq6xXlWmk2+yB/oF4avGXwgsdonoKUxGZDb2fsyHGN6hDtQCuArY6laoT0k1Haxxgi00yGWLvoRHVVSx+uIvEwmZwpNiJFmtzQe7Fqhma/woF5SYoqeqXlCZz4dinf/RpuUSDtZ4ns3Ex97w7iJhgoBQw8bJfM4+Sbzmjd39g8UY0hE6eukUf7SqncWyNKd24rJph1ovg7IB5vreOW4Y/TWRbGn9s4lABlyKDAePn+sEfDGUJFAjgn2nNePuiwVLNWCE+CTw/JkftU51aJUgGsPbggHLD4CC3uL4x7N6ZGvVLKlScL1MKgxcsdDgmmjlTTRsZcOgAaUtnl+2t6X3Yrq6OMyvlZm4Cz1CNzjobmpPKY+TjmL6Nv4JXC2jZhzw7wtm/C5gampQAKceqNEXa8C0Up3JE390EE8ys+b6kDtCwjvW/gw7V44BdDr3PsHZAaZvHUsdzJZ0gfKOdfq9epT8D6KfCoXZ6eenob4UbmPSgOso4pHEbd3jky0VG6tjTtnALTO6jv/6YeMygXmJhBY3y7 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)(376002)(346002)(366004)(39840400004)(396003)(66946007)(107886003)(8936002)(6666004)(86362001)(2906002)(186003)(52116002)(4326008)(6506007)(6512007)(26005)(478600001)(2616005)(1076003)(956004)(83380400001)(16526019)(66476007)(69590400012)(6916009)(316002)(36756003)(38350700002)(38100700002)(6486002)(5660300002)(8676002)(66556008); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: hAdjOXbB9eo92qGDRzEHL+6IK1HH1s/g4u3h1ki4u0ZoblYGAmgubfgaY5MwvsnVFROfi5KkMJP69CqCWsJmWp4OPJFf/BttkM9INV+gjnlRR8AjGOlIDX4HKeSFjrJojNs0xJ2+b2PJiRu1lxYimrH2sgq32Q8sKUkrfu2jUWQJiWfz4PKVAZtGKji3U9ibI16Bd3ZPYrytbrairCrkEbme+TTkOKDu9rh7OW2sldmMh8IIAJlY4UCCPVFC4X2DthiGtSgZ15CPTUT0EJfCrD8mV8cFZYnG6wXz8drqgC8D8FW8Q8AWLeKf37TVCV5KtqanjmMJhx5iklLGtLSPjaEUJU7SLq2Z7zApR8yzB9B6YPiRJtMaijuA665e32VGAq1xQCX91A/1FsywZ2c3bD8n4QUTLvUAiJLKJJKKoMgYgUGVX6KlY3qfJwoIxERyb/jTjoFWRs7Jan0HmMl+hRs7wcBnZB72PigL+ckBj6OlbWl0YKuY7cIn9qKz3mzTzKioOC1VtLkFitGQnLvO9/1Ze4bs/h0Raq23xFQS4KtXs1ra4zSoATnmz7noIiP6UoaAhtnOEBYCNK3hWlro5IFpuy6mceJHI8ONnd85Eu5OqS9BoZR68Tb3tF8UgEgOdlyzShM9BX65giaUXqsha/DgGLxKBNm1d7LiN3grPFlFGsMeca5L+NbEVeeVQLTfymKLucycAMnTdlJ/7x6xsvXU2oQZmgVQGShgJcG/thymip6uj8iJnLuSDR9b9UPUQRm34yQMU0LF/ER2LBRI93EJgnX4Hky6+yPgro1a4bfuo6ruhsV9fTTXJbN8jeyxDLuLJcK3Fx831haxhshn7TX/EqqIGybTuQnTQ7JUTf+BHoC7Xh9ZZuWyw7ZXOcxeb12tDr3yGIqCZ/cz7eCkIV/jgVVWoU9FKHALul2q9zcuUgk8rs3uLVMHl6yRziLi7kuI//oRFqe8pHt3YRtnLse8KcymLoiwQvLQ05yb4XL83md+dASQ5BfEITYnRmjGjAMOlaymFrEz2Hub/heM351mn7OtYmgSkWhjasyte0q3mBzbfN7VWdNgVK4tMd4+SH0EeqttJxOGOXRzhY/ty72Q6GaO7H5p0tgQcr4gGqpSsMMmLLH/2eW6e72PyBCzLAfnKPz0kDEHZzYXpjclSmOKEppV1YhtlSCRJDwfM47HBUxHU7JX5kHjFhDSafNJkWwmOLea7JxE7wDF5XomP6c+EW87b0NBbybdKEqKLHD4uhW1JiFZtQ2FTG3HGicT77HpKkeuaCb1JQr4Vz52LrBBmhKhU/Y+ywPV5YAfTKJSUHcIlsMJ4kRUK2zFiihO X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 00364896-13ab-41c4-6b79-08d900aefd9e X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2021 08:09:43.0934 (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: wgJsb7Afk6Bj3FIpEEnOySa9auMvqn+u6LAdRE9RN7DJybRUurYGad6x9cFMH8g2qkKNUmRIOCq5Tr/YlbRjShTlCUpkSevLl9LLPnLUNFc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4691 Received-SPF: pass client-ip=40.107.20.123; envelope-from=vsementsov@virtuozzo.com; helo=EUR05-DB8-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" This is the last step of creating bs-independent nbd connection interface. With next commit we can finally move it to separate file. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Roman Kagan Reviewed-by: Eric Blake --- block/nbd.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/block/nbd.c b/block/nbd.c index 9ce6a323eb..21a4039359 100644 --- a/block/nbd.c +++ b/block/nbd.c @@ -351,15 +351,18 @@ static bool nbd_client_connecting_wait(BDRVNBDState *s) return qatomic_load_acquire(&s->state) == NBD_CLIENT_CONNECTING_WAIT; } -static void nbd_init_connect_thread(BDRVNBDState *s) +static NBDClientConnection * +nbd_client_connection_new(const SocketAddress *saddr) { - s->conn = g_new(NBDClientConnection, 1); + NBDClientConnection *conn = g_new(NBDClientConnection, 1); - *s->conn = (NBDClientConnection) { - .saddr = QAPI_CLONE(SocketAddress, s->saddr), + *conn = (NBDClientConnection) { + .saddr = QAPI_CLONE(SocketAddress, saddr), }; - qemu_mutex_init(&s->conn->mutex); + qemu_mutex_init(&conn->mutex); + + return conn; } static void nbd_free_connect_thread(NBDClientConnection *conn) @@ -2208,7 +2211,7 @@ static int nbd_open(BlockDriverState *bs, QDict *options, int flags, goto fail; } - nbd_init_connect_thread(s); + s->conn = nbd_client_connection_new(s->saddr); /* * establish TCP connection, return error if it fails