From patchwork Wed Dec 29 19:21:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 12701097 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 605DFC433F5 for ; Wed, 29 Dec 2021 19:25:54 +0000 (UTC) Received: from localhost ([::1]:59042 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n2ea8-0000tF-Sj for qemu-devel@archiver.kernel.org; Wed, 29 Dec 2021 14:25:52 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49882) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n2eWK-0006bC-AW; Wed, 29 Dec 2021 14:21:57 -0500 Received: from mail-eopbgr70107.outbound.protection.outlook.com ([40.107.7.107]:6337 helo=EUR04-HE1-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 1n2eWF-0000B6-VW; Wed, 29 Dec 2021 14:21:53 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aMnlTw95WcdaKPpVZ0U5nVmGauz76bh6R8C+RZ0iJGMIcb7j7YW+NJrnWr3ZUgzNWtFxDuEsECKG137M7GxqcDO2YpJq00mOmSxB/YVTlbyMlciUYMf1zFQZ8jCs3kFFataARjhophccYOd32uxBZSzCngg0HXP03i8DS3kD6LRSXzEVKKrNInpDx7g+LrBfCCk7ofLzlkNWIhreIzSkG2dh2c/xLpsnEF9oA9BLOQInCh+xvOJ0cPNdzU6GSCj7pu8/EfNPeOjvQyIOuemAtPHqjdV6WtDko/dGS2LqbXonsPKGvrBH8Qao50HXUu+JdLeAykCxV65x/KEyOzTp6g== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=p4yPRjkH8qwCYrJOwOXKV9Jq+PT/sa0b2rVxOh+oEVM=; b=bQD2K7xnc2Uhz2oD1yfU31/hFCKqYVI+vV3W4hLqs4SAqLDEoYvWMxUeeI2NscEAu6PMZVQJ/JKm2KgLWsM85fsUY58/deXieem1dQnT86LAQhHdjXlPoMDeKdyVIzOGSj4oG/+Mkc1wCqP7mzjXSTPKs1xr9O7nEVoM9uGUnG+Ep75JT34bI2+yANVs5jhAL7b5+ynvpzA7EJUnmeHGMVOpzmEEb9Wq6UjpDf+xvkMDN/oNE0LCW+qlkkclrH3kWVJ6oFkTUBP3Atxpx2hvmjA3+oGMQOpdQ6LgkMuJFiVAKntZqE/z4Wr/4NJHLcRQ/IlYWxtmSzkFlAjM2AF6pQ== 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=p4yPRjkH8qwCYrJOwOXKV9Jq+PT/sa0b2rVxOh+oEVM=; b=oPOCmjRfml+9hRtdtdw6CshSUqAacXOUaxAm5Vx2Sqq6uWHgIF+RWB6+NT6cFoxC+mw6NHSpRzqDx7jqWje6zyeaqXO4OeueZ+RBfUEMoPGvlN+rxDVp8UnfDZqiWXFO28l8kCfSFojkojh5uhh40zFCttul8h/JlLDpmBQJBKQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from AM9PR08MB6737.eurprd08.prod.outlook.com (2603:10a6:20b:304::18) by AM4PR0802MB2276.eurprd08.prod.outlook.com (2603:10a6:200:5f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Wed, 29 Dec 2021 19:21:44 +0000 Received: from AM9PR08MB6737.eurprd08.prod.outlook.com ([fe80::b118:483a:d003:3112]) by AM9PR08MB6737.eurprd08.prod.outlook.com ([fe80::b118:483a:d003:3112%5]) with mapi id 15.20.4823.023; Wed, 29 Dec 2021 19:21:44 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, kwolf@redhat.com, hreitz@redhat.com, richard.henderson@linaro.org, peter.maydell@linaro.org, vsementsov@virtuozzo.com, jsnow@redhat.com, Emanuele Giuseppe Esposito , =?utf-8?q?Philippe_Mathie?= =?utf-8?q?u-Daud=C3=A9?= , Stefan Hajnoczi Subject: [PULL 1/6] job.c: add missing notifier initialization Date: Wed, 29 Dec 2021 20:21:22 +0100 Message-Id: <20211229192127.1772134-2-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211229192127.1772134-1-vsementsov@virtuozzo.com> References: <20211229192127.1772134-1-vsementsov@virtuozzo.com> X-ClientProxiedBy: AS8PR04CA0152.eurprd04.prod.outlook.com (2603:10a6:20b:331::7) To AM9PR08MB6737.eurprd08.prod.outlook.com (2603:10a6:20b:304::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0faad136-ce96-4ab7-1dc0-08d9cb0072ee X-MS-TrafficTypeDiagnostic: AM4PR0802MB2276:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:962; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WtrEPN0OJDn12iDL5hGBnXLH8b488m16Q6spWH9JOtEnsMwT1ASNMEreEG4dctXU+13OCCM940pN5Mj3I2tv+w1TnpFlYCFmyf0K94v/KaGs9bJqn1hatiuCl3eZiAiR/f2desC5hvPsk4Qy9cnzRqYC94gTcsFxr8rwzlWkpAYIaO7/e8bg9IQt5cF8+/AIRj7OQlXS7MHyS1BiWFIAklQgLMgVNwJjZrwkUjkx0WlP3afxfX5uLIeh4a7fsvn9HlOYv71JVTeP/Ukd6jiu84DOsgaG9rOkhHITOf0724LuYO1BPB0reDy+YzXwgURnI0wB0xKRXrieaTBRLbkPy2xuDCkxHQGhCT+J04cMHiEPWenLINbal4z/KADFamck2VcvgdNKP8qz8hyXmScTKNRuKJfZorkX5usB6huuMjZXQPfLfJIOMj64YvCGVd+YoYiPw5jLc5fMoldQyoyEaN57IoP9VDOPZKEs4Quc8W90r2HRWvPxemeSbpalwpADU+W2GS25OvGFkPkiY5iz70bPUl+m4XKCM0UdYKRSqREvbMEqjlXoDuyMFfnNS/vPG1yVDj4Y87+fbapKb+JVgx49kECrGytpc33LGTCTtHoNn8IsAJbIWR0zBuAINkgCeHq/genqW/tgM1UGnOuK2qdFycrHCFGikl5jHowK9NxFBIJ/6UXVxtnutEXD9O3wSGhOFwpIQtiQ4UBPOIU0Og== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB6737.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(508600001)(52116002)(1076003)(6666004)(83380400001)(2616005)(2906002)(6512007)(36756003)(7416002)(6506007)(316002)(86362001)(38350700002)(8676002)(54906003)(66556008)(66946007)(66476007)(6916009)(38100700002)(5660300002)(8936002)(6486002)(186003)(26005)(4326008); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?/7rxhJZQb4ER6/WR5uM9yK1ZcV4m?= =?utf-8?q?J0dutii4eDPCfGTW2KHilBr95aI4sB7RWMHsVCOZdKA3KUFrLAhR5ke+1l9AzxLcV?= =?utf-8?q?W7yllPvr9Y/n3BPxjCzyN7WYgOq2WniICsBxCO06bh8lDNfL15DL09tLSOoFSbcWa?= =?utf-8?q?8PKQolZvZliLKt6254+7WlR6Y2jlpb4KAJKfNpXNoZDAnXfdpIjMOCSAOMegTg/oI?= =?utf-8?q?zzvgUYxhst5W+qGG1cwRrPhxUXSCUBL9X6b+HjUbOrC7uMCGb6b0NCD07Ni0KaAdO?= =?utf-8?q?XNKiXlndCwllpGzTcjDesRWQ6GfQLlKVk673PldtdTcZ8GVneuGLjkX/+cfcbK4uY?= =?utf-8?q?9EX/5phjyp2U9WLNvF51yTKgChr5rxTVYHHs/cXSUjBVMB5hxIKIoRKATbWNwIYuH?= =?utf-8?q?0VuEBV7c6h+MWNj0ATufo7OYnD2fr7UPVndnOWDbshmPjeGN17Owbshwdm+KmrYkY?= =?utf-8?q?zhdP/BHgDK6FkpTrnfKI6d/UkuV3eJ3jkkBQY0P35MuquxXmC0iYmUvhc7K7lTWYL?= =?utf-8?q?TD1rGFguigbJJmjFVc0TdFaeFzJGelxDJ0KsnoStK8cFi/Oj5l3i91bM33gBKzbkQ?= =?utf-8?q?r2EIhRnRPK/QAAjuFixyfuhdx7HLdIFJqQYnU3I05FNkt4ROYeixccT3G7i3LnL1r?= =?utf-8?q?pqNfseBkiFrpamSwSnxj1GpvIW9dqBUzemJwlPSC0MKHXlfuZ7lEBjma+NzeySg/D?= =?utf-8?q?rDf2qzAbRI7f+/grc8h5Ih98w9jYnFqVotP/UuLM9uteo43K1JIhtpBGXNkMJXEB+?= =?utf-8?q?jGS64EelNQlfhopgDvJt4OwrO+BFi/RBZjfHwJfX2Udzck7rhAyA21Dv4FHhLpYOL?= =?utf-8?q?OfPU7u9jdfMfX4Cl525LFptyhrFijAZ+wGLQLfA/S5bw4YJhoc/ytS5X1xC+3vDDU?= =?utf-8?q?6gvheaD1BbsbAGhLpIbm9ENBu7yAz6YeYpwcg3Jxi+E/33htDqHRGPrCX7GPIGHl5?= =?utf-8?q?rL/jsA7ELYD3CUpea4yuDxFlqncPOCgnj40FkW81Vx/xge0b22QzJ9SbjHVYpUF8E?= =?utf-8?q?RoOGPnWoRXihLTNkcEDYYLGGtJ9gY2ppZJy1pnxsF6IOSdDpkx4maWEx85DWNCgoT?= =?utf-8?q?7IlIIfZ3OGu8SYr6d2E+OF9B3NQY/KbXX39WDx40AGDtwNOk0RXESoxCtGlp35OZT?= =?utf-8?q?QpsiHOh7s8A2rVivFml+VsU42szclGoKZ+vJ9pnDO9YkGulfxfk3WZTsk9eplcnLj?= =?utf-8?q?ifndzbCTnJy+wyi9RL9/sn9TZVHfNPOKBSMNpriW6+k9PQxtWhaLLyDCMrXRlu17s?= =?utf-8?q?1A/zQlAG7mHtyaULDBadccOK4OMaUV8aWrfyO5cf50SZAbo5vWRaGMfDeTTRpKc4v?= =?utf-8?q?hPU4IpBBS8DsvW4EnZS18lCbvAB6PYNep+0msGCsdPQD34IMcw7I0F4LbiXOEtTI4?= =?utf-8?q?lBJs5T6+DvkbO3kbxx5OPFxn1B1R7odKBrvKyOXH3uC1TutXu8YxAZ3x9KPW5Hste?= =?utf-8?q?l+LC6p3HzwBIB3TXIOrqDh5Buit5Anruf0WD/g5VwFyy02mq+N0YtoSlyr876SouK?= =?utf-8?q?HAwFwe1HP+GmUF/DPRRJn4FtbDcHi8ZBpD2Y+EErR28Jl7m+lc6ZjH4XmKiyvXa5m?= =?utf-8?q?Mrrb41VSEshf0IqaCFCPN+chMMqjQbPS4fLzM1WTLo1aSVFeqfXRak=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0faad136-ce96-4ab7-1dc0-08d9cb0072ee X-MS-Exchange-CrossTenant-AuthSource: AM9PR08MB6737.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Dec 2021 19:21:43.9688 (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: D+uJ74H+XyzUh0ifYFNFYcE+GnJYjvmu+7NSwEM08aU4a1qRCtPG2KSqqeZJ/AtSWL9qI5jVOQnCRxbPUfHlZP8hAk77eogcTgpxnnkAQy4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2276 Received-SPF: pass client-ip=40.107.7.107; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-HE1-obe.outbound.protection.outlook.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 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" From: Emanuele Giuseppe Esposito It seems that on_idle list is not properly initialized like the other notifiers. Fixes: 34dc97b9a0e ("blockjob: Wake up BDS when job becomes idle") Signed-off-by: Emanuele Giuseppe Esposito Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Stefan Hajnoczi Reviewed-by: Vladimir Sementsov-Ogievskiy Signed-off-by: Vladimir Sementsov-Ogievskiy --- job.c | 1 + 1 file changed, 1 insertion(+) diff --git a/job.c b/job.c index dbfa67bb0a..54db80df66 100644 --- a/job.c +++ b/job.c @@ -352,6 +352,7 @@ void *job_create(const char *job_id, const JobDriver *driver, JobTxn *txn, notifier_list_init(&job->on_finalize_completed); notifier_list_init(&job->on_pending); notifier_list_init(&job->on_ready); + notifier_list_init(&job->on_idle); job_state_transition(job, JOB_STATUS_CREATED); aio_timer_init(qemu_get_aio_context(), &job->sleep_timer, From patchwork Wed Dec 29 19:21:23 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: 12701100 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id E6742C433F5 for ; Wed, 29 Dec 2021 19:26:54 +0000 (UTC) Received: from localhost ([::1]:60602 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n2eb7-0001zk-L2 for qemu-devel@archiver.kernel.org; Wed, 29 Dec 2021 14:26:53 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49934) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n2eWM-0006bE-0c; Wed, 29 Dec 2021 14:21:59 -0500 Received: from mail-eopbgr70107.outbound.protection.outlook.com ([40.107.7.107]:6337 helo=EUR04-HE1-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 1n2eWK-0000B6-E1; Wed, 29 Dec 2021 14:21:57 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XJm94KsBxt09+p1QwhlOVC5weDUhUudsGBsv7reQgHOIEDuVF2OpQsaC9s90fzq0cY3BO5oDAXExyJ1l1eZ8Eo/gwMgmRBKeeeGQSzTCLAHVVaciSZU/4qZsjj/vQmONy0Bg982YCARYeCD9AakhUEFgGlifQh5PF16H6zCKn1Om8O5HnDoA6eKLjXqXV4lHF/1fkXHZsZwyceHH1orcQ2iojNOZMg4PecG5KhcCUq0c1CXe/sI/EBBdE+b4TH7yxxtU2tPO8sMzvWvnuvPIeUBVI7xZX1HT02dUbKlLynOFgsaGutw5wLQBuxIeDN1xInl7qdzILh2So5f3oD+feA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LugQXZRFIJJbi9090i2FngjK5u/n+mcVD1os2YRaKWc=; b=Ffbv4wUscWwfeheh4Pxxm5qm/ekSYUM7Zz7CLmC0FV5C8nrv9Dc9oNeRxymumwQT/LoxehccW2KhYv6QnQ+x+50FlvRvF05x1gxXl7jODOiwsubf/BhLyk8G8XnUojzfIvhnHR+B4FW5n6xHehMMoWhHjOicGha5S465ycNu3wxcb5kJ3BGjYXyrnLi914Ym/jqbbvMK0lAR9X9vbYeVDkVBrtm+MOZVcIVEl88HBvL1T0H0joVrKOamvY1IgUeppz3SiF+IsWe8wuVO/Fbm87d4Fg3m2+0X6iiRKGhrnW1IeYs3Zx+Yx9zTfqFo36zpQf9A9mnyDUqIJcfhxCEasg== 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=LugQXZRFIJJbi9090i2FngjK5u/n+mcVD1os2YRaKWc=; b=A2TB+ly/25+3UWS3bx/oEA+5yKsVSBbrbd3ncAor2TGiFi+G4XrtixyqKoPh51Sas5KMgpPObTTcCHdYvNrSE3bRCCOBoM8N1m3bClHkCR6FZ5cvsz7RiyWYBCohwXgXZpuqc/zdiXzO9lGwAxB9FlBgpPQqq2M2IFjJeukWF6o= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from AM9PR08MB6737.eurprd08.prod.outlook.com (2603:10a6:20b:304::18) by AM4PR0802MB2276.eurprd08.prod.outlook.com (2603:10a6:200:5f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Wed, 29 Dec 2021 19:21:44 +0000 Received: from AM9PR08MB6737.eurprd08.prod.outlook.com ([fe80::b118:483a:d003:3112]) by AM9PR08MB6737.eurprd08.prod.outlook.com ([fe80::b118:483a:d003:3112%5]) with mapi id 15.20.4823.023; Wed, 29 Dec 2021 19:21:44 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, kwolf@redhat.com, hreitz@redhat.com, richard.henderson@linaro.org, peter.maydell@linaro.org, vsementsov@virtuozzo.com, jsnow@redhat.com, Nikita Lapshin Subject: [PULL 2/6] blockjob: implement and use block_job_get_aio_context Date: Wed, 29 Dec 2021 20:21:23 +0100 Message-Id: <20211229192127.1772134-3-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211229192127.1772134-1-vsementsov@virtuozzo.com> References: <20211229192127.1772134-1-vsementsov@virtuozzo.com> X-ClientProxiedBy: AS8PR04CA0152.eurprd04.prod.outlook.com (2603:10a6:20b:331::7) To AM9PR08MB6737.eurprd08.prod.outlook.com (2603:10a6:20b:304::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1d80c48c-30b3-4d2e-92c9-08d9cb00733a X-MS-TrafficTypeDiagnostic: AM4PR0802MB2276:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZvlLvS4bDlkBIWIN95aihYJOjkrPEWXk4ITa6FEyzJMTXXtfEpjcu21hK2kYz5E6lYoZZmP2uy4Zkr57kBsrEKi0idiPcILTSs7UH8mEQIRODgQJhpF8CVfBo9zayr89zA/9GR/A6Tsvg1XXHH0pHNo/Y5RTarceUSlcnWPL3h4XW2gwM0YPCfFOvWQAtvI7XDY8YUgQi/F2kJ5SWGjroMWiEwjM5+Du77HK9yXPB7QS4bH4ik8e0Ijw9ESaGCUWSJRWnpnfcBSPioGxx1wu+GKX5w9lx19hUmmQBuy7gBdpb7U0zNwZ1P+45UY+pABkZSZgTN3T3XAheEFn6T2jdpOixWKbVmZ8yQoJT41IMjeKXfnEEaeeOB3n+I3pxUeIRoQ1fvJw4Wb+/VW8NK1H8C/iiHO4YlBfj5/TYpSfMiSgCrqhTwdfEvM6M2jpT8oUa7kx/KFCDAXWjogsJJ8vOTdr03R35sjv3xoiuWVyCJ4RMEGuckCh0wzkMe0Lmk6ENhS0QdNQedlxOh9Fzv8ZIMd2ZCD0fnYN5FEusXOjkWDdjVB1IInQFWGprjAVgp7xHjenVJZJvFUvqiD9z8B+qo5xXOmWwxwNtOlWT08QjgvozIt8AeNy/8xqbKzxgYGI/icyxMDnIlwWHjCe0hty3C4hNYvrDdnP9uC+og4GVkW/8FtI0ORj2BwgH9co9NhmFTrgxvZgyom1fQfCRhoSlg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB6737.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(508600001)(52116002)(1076003)(6666004)(83380400001)(2616005)(2906002)(6512007)(36756003)(6506007)(107886003)(316002)(86362001)(38350700002)(8676002)(66556008)(66946007)(66476007)(6916009)(38100700002)(5660300002)(8936002)(6486002)(186003)(26005)(4326008); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: QPIe/JVVGZmxQcgDLa/Nw1N2XM51bsvobffpfozT+ZnJ7gKUBI4ypr97kkuoN8CLW0QwSWNkvDYwpXgzid7n23k7M+RPx8ruY9g1kgWHowgj8zeabWdpa/+MfbJ+RZxEBdgYbwNrbermHbE/cFiNDhqCJNDUMdFPNcdemiRNfzntc/ta4JBcDKQ6dVcls+u2YaEJ9m1xA5JxgKuSm0dXGgnd57SApWeo7ijkgcc9zSa+p4HgWnjThy61itgvWONvRXKxy8KTxi4XEIO9bw5Q+OsioKzzXpGlgRlo3PmFRMUXFH7FxLQLv3nu8ljqqQtKBmHlVypma7xYbgpB4bRnukRahaS3BNjfVMWQLJSoW/0bQNBINmlsNsV69nfKOK4/kqBaT+HKMaVN/5TUbZ+cmG093Mp8FqAGAC0EV8a2u3MxuaYaLv6DkBfyv9vu+3oOH5Ig71vqo1XQXw4FjFAo/tclYqH/aqXsxzhPK9Wcpi9WQI9zkIRia+juHu8mQPIGJCF6c3jEunaHfB2x2YGcugdwGymX5HUcVJhFhlztz/5KUUDfrk/YL+IaepNvW/fXSzj5eMimfIiNIK5RgN3MYVpfgcMhHxmUn0lPwOX4trr4egFF0x7abtWpyITUgXRuMOcR2mjdoMMzGvbh4TPaH0LuHIEUuiHVSxnengL58Tuv1oWvzUjekRAcADkpGaBodHwtdeGuD1k4/BDwm2nY3dp6oMeotndXl7hM7FRXTKd5RA8KzQFpu+lNXPsVm+Rf8popv2rfmJsaWlkXzJ7bgUomeVevObuMQjQgjGu0/TzvDGewHu7ZyZwIisKhSzvzDzQHlwT/CWZFwsvkhLCdKAu+g/JSe9cRYL4sGmCO2zJaa1ugzwaiDsVUkCZnFDd7TVAnEi3E+9Ca/3lh9UBhhrnYnurHbXp6e2ojZvormymBI2+4FRy0LH2n9YpEY4fCjWZji6wkejgMtdBaMReQgMhy0yJH4aGR8K4FH6Tg9S66EToXpgi7ZVHwq9M6MB1crW+dhMy3q7snXy9WsDmONDXf2tZ0DUQQIXAhqrUnpzZ/zpThYt5nKd9GtLK4gsF3D9RGL21bRgaK/FrUiw11P3BkBXl//YgEcj5V9Zsl+MGcZDlXLlvszUiXO/BVRf5gMXzEI2YJJT6GN/RhX+4BO15aLXJJNzcOXdMNTNSLQoMuTe4+gexnhCdMnlzCFI9K+VwuI9HYqIGiUHWpNBR87nSZuyktu6zh+UvEWctJZyxC2ql5SAkZy3KlveX9CfV0vLcdA9+Nz+sxbXX7pGsicannnuU69r45pG9N4lZuh3gWZdvZQKD6fLfr/0UeyHBDBwaxz0raIWVB+zyuxcnlgL0pruF+ywTpbfzBMyxawqHRvKeX/k0385ADzV3AjECbuVErOfEm9FiVXLWVdCrrr8UVYBz/Jl5HxUqidSt5oS31r6xgUuabiHIJhKd93OHI5NHe8i8+htscWEnhdGJ7ip5I+hwoK/kQl8Jppnh1vpa+t5ze8hi6ElQt1eOsDDBiWFqibInDxh1TbdWAYJ+JfuSuBDHXKVUC6qGcjMFxy596hVZUw3XOqIfS0AwLP0hRRYaQGmiHlOpvpkMuQut8Yvi2uCJlL8hh6n/qM3PLsiUdXxSZyeLfuDJ59N+0WqAfpAuFR36NwrK6XCqF3HegMIx6EW2lGGYNEBvzaw1qgYU= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1d80c48c-30b3-4d2e-92c9-08d9cb00733a X-MS-Exchange-CrossTenant-AuthSource: AM9PR08MB6737.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Dec 2021 19:21:44.4998 (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: Jl0crHR+q+SrOF5Dq8bTKVZJgU2iIlI0zflZhIQtX05UydQaT1KCJIAsCegtNTNocd/yG77atUuJ+Q0iYx46Oqmhnf8DGxnGHMBpFyg8S10= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2276 Received-SPF: pass client-ip=40.107.7.107; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-HE1-obe.outbound.protection.outlook.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" We are going to drop BlockJob.blk. So let's retrieve block job context from underlying job instead of main node. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Nikita Lapshin --- include/block/blockjob.h | 7 +++++++ blockdev.c | 6 +++--- blockjob.c | 5 +++++ qemu-img.c | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/include/block/blockjob.h b/include/block/blockjob.h index d200f33c10..3b84805140 100644 --- a/include/block/blockjob.h +++ b/include/block/blockjob.h @@ -173,4 +173,11 @@ bool block_job_is_internal(BlockJob *job); */ const BlockJobDriver *block_job_driver(BlockJob *job); +/* + * block_job_get_aio_context: + * + * Returns aio context associated with a block job. + */ +AioContext *block_job_get_aio_context(BlockJob *job); + #endif diff --git a/blockdev.c b/blockdev.c index 0eb2823b1b..b5ff9b854e 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3315,7 +3315,7 @@ static BlockJob *find_block_job(const char *id, AioContext **aio_context, return NULL; } - *aio_context = blk_get_aio_context(job->blk); + *aio_context = block_job_get_aio_context(job); aio_context_acquire(*aio_context); return job; @@ -3420,7 +3420,7 @@ void qmp_block_job_finalize(const char *id, Error **errp) * automatically acquires the new one), so make sure we release the correct * one. */ - aio_context = blk_get_aio_context(job->blk); + aio_context = block_job_get_aio_context(job); job_unref(&job->job); aio_context_release(aio_context); } @@ -3711,7 +3711,7 @@ BlockJobInfoList *qmp_query_block_jobs(Error **errp) if (block_job_is_internal(job)) { continue; } - aio_context = blk_get_aio_context(job->blk); + aio_context = block_job_get_aio_context(job); aio_context_acquire(aio_context); value = block_job_query(job, errp); aio_context_release(aio_context); diff --git a/blockjob.c b/blockjob.c index 4bad1408cb..70bc3105a6 100644 --- a/blockjob.c +++ b/blockjob.c @@ -547,3 +547,8 @@ BlockErrorAction block_job_error_action(BlockJob *job, BlockdevOnError on_err, } return action; } + +AioContext *block_job_get_aio_context(BlockJob *job) +{ + return job->job.aio_context; +} diff --git a/qemu-img.c b/qemu-img.c index f036a1d428..21ba1e6800 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -902,7 +902,7 @@ static void common_block_job_cb(void *opaque, int ret) static void run_block_job(BlockJob *job, Error **errp) { uint64_t progress_current, progress_total; - AioContext *aio_context = blk_get_aio_context(job->blk); + AioContext *aio_context = block_job_get_aio_context(job); int ret = 0; aio_context_acquire(aio_context); From patchwork Wed Dec 29 19:21:24 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: 12701098 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 03834C433EF for ; Wed, 29 Dec 2021 19:25:55 +0000 (UTC) Received: from localhost ([::1]:59290 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n2eaB-000152-08 for qemu-devel@archiver.kernel.org; Wed, 29 Dec 2021 14:25:55 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49982) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n2eWO-0006bo-OE; Wed, 29 Dec 2021 14:22:01 -0500 Received: from mail-eopbgr70107.outbound.protection.outlook.com ([40.107.7.107]:6337 helo=EUR04-HE1-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 1n2eWM-0000B6-N1; Wed, 29 Dec 2021 14:22:00 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IGdB/hD6/Ldms3SZ41gOZLGKDZ6VA0XjImqVJORHv0QQsHx19aY7eY2neHFTpdiLsrHs0/6FhprheZxTh/bw5vxtVd5R+AZkmBItoPoH5TerYp+bu+DqVwq/3Qha7CvBHPH00qSjSrMOYpCaexzfY0rCxRI9eyiBeTj1ESDd//I/z9CoxRVQU6BeIRQh29nG9axfWeZIxC5VzOBT76lkKRDg4aME7ghcXE0EbAnYB6FJs30c18uLu94E/mZKQfBNqf75YA0zKzXmpRJKfdsUweuouzp0V0IRHCbOce0bTKyZ0nwEcnMSiRIO8Yq8v2x8bUVBSLEoIs/wSubLE98SqA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=gwRSLijJwtMQ8wi2MoQWbVYoDW0tsOv1cUG2vNnkRfA=; b=TirAy9eGIors7TerYyctQReOdVHcOoVMDg1PvSMFaqKnSaQFvPpQMF3Sd3TyyXgFKUfDT6iwjlLAJVsxyTDspv3aHgd0hGaOSmFzNoDe66XWBZbB4T7nGPRPeFPDuF+Qghd02eeBCtRnh9iM2iqw1ruqA4FTKHQaDZpPaDta/AvNhtH0WgCQNIdXYhvvi/2/rQr979kHLZE4N2NBakNTpjssD2E69hQhJWxUTSD41crPBqNWA8Nc3jyet1LKrIqxcdIttHZYiEjcOvxZ6diIDlo4TC8AF7o+uhbjDTlzS/e3vym0029gu7M51vXbddQYj2iGyoMfgS9L6j4SRARdpQ== 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=gwRSLijJwtMQ8wi2MoQWbVYoDW0tsOv1cUG2vNnkRfA=; b=m8eBM26MJVQKN0XxM/nHyYh68b3PbVGk9MrHOszlWHb+wi2xMK6Eh0UEmGOmhJOwC6co+CAWjkhjX0iEVFl8khO+AbR4MHs3w/rEhYQMhNReKMvls1DfxzDlMTE8et1+dD0No/+ahJIocz+1p/pVNT4CJP0Kcig/MICZL9/H/TU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from AM9PR08MB6737.eurprd08.prod.outlook.com (2603:10a6:20b:304::18) by AM4PR0802MB2276.eurprd08.prod.outlook.com (2603:10a6:200:5f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Wed, 29 Dec 2021 19:21:45 +0000 Received: from AM9PR08MB6737.eurprd08.prod.outlook.com ([fe80::b118:483a:d003:3112]) by AM9PR08MB6737.eurprd08.prod.outlook.com ([fe80::b118:483a:d003:3112%5]) with mapi id 15.20.4823.023; Wed, 29 Dec 2021 19:21:45 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, kwolf@redhat.com, hreitz@redhat.com, richard.henderson@linaro.org, peter.maydell@linaro.org, vsementsov@virtuozzo.com, jsnow@redhat.com, Nikita Lapshin Subject: [PULL 3/6] test-blockjob-txn: don't abuse job->blk Date: Wed, 29 Dec 2021 20:21:24 +0100 Message-Id: <20211229192127.1772134-4-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211229192127.1772134-1-vsementsov@virtuozzo.com> References: <20211229192127.1772134-1-vsementsov@virtuozzo.com> X-ClientProxiedBy: AS8PR04CA0152.eurprd04.prod.outlook.com (2603:10a6:20b:331::7) To AM9PR08MB6737.eurprd08.prod.outlook.com (2603:10a6:20b:304::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 120fb2d5-dfd1-4577-4773-08d9cb007384 X-MS-TrafficTypeDiagnostic: AM4PR0802MB2276:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:164; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /r2AVI/aEZObtmenh4f+XQE9/qL1iFpw3yTAaP33ZlxD30E5rnwlc6iijITeLb3ygG7yiZety7U7QpEV4ZagJ+iPpsCEr9fcOWNXUZAO0wpCuDK01LAqBA2i1qJ8uXQSedTao/IMtpPQhbG0JTrh7jAnxnYK6yvIt9lYITn6WVFdpHRW1aASdKbvhz6+3qzL/Y3cS1NTS6lAOAn0PqywJyEEBngNd7kJTFMIuePcM0qMEJ64SOUByS5wUYc0/Oj7PpTfMCF5Axfmj7HIsPYi/arJZzL6lhczY/mBdSub+cogu5YDouF77NKHJVRbphUWzOdWYvc1kevI8QPfIOvpr9z6Alj/lpdXGt2JvuzbB1PPP/tSfCzLYBHeD4EasDLNMc8M5T3Oc2WJ4xRWKaJau6+evxYjEX2B5dSHInB/Z1YEPkTUU4tBjH0FkA/7oYGHvEqjR/1JM/xD8Q31z8Bxya6qtyqR3W9jynfonTJDxLNU4b5q9A6xNaCYTM+oWOnZQjEJHR/ONKnWAou8JeuKTxKZYbtCF/uYBdfV9ET0bJKmzBFM3fvwv3Ixe4MYzdSQJsN9IdB5xMvk7P0Rs8pod1clIynlUhGqI+oDdP91CqneqF3iBoWbbVBs2WSzEeqIBVqHY0CkynqvAWs3R5qo5UMpY23gMqhjl+7/03sa/fXkvKSGaQhC48T9yvKKPMGMMj0RTp1HZdy9GoH14tGlGA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB6737.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(508600001)(52116002)(1076003)(6666004)(83380400001)(2616005)(2906002)(6512007)(36756003)(6506007)(107886003)(316002)(86362001)(38350700002)(8676002)(66556008)(66946007)(66476007)(6916009)(38100700002)(5660300002)(8936002)(6486002)(186003)(26005)(4326008); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: aBLQFUPZ1mFFmwdhPXL2pDK0R2i3powQ7qqiFc4a/gfS2X+vxraxnseECuVHlJ+FTpA4GDD5hZnzKKgqfDcYJyDAEcBekpkqlRjFkYBc0K+8hPXoQDJ67qaFPOccMJ2z4loXxGpIGlY0txsaNKZG6TXJkXQx9Mo7uYewYLXX9GsPwb54QIOQZUwMNuH9S8yGd41/ZLGDSJKuhsf4D7Q8h9Mc4eqmZj0vYRlWFcVIWAt6jlK6PqQ3Ogiz+EjnkboAk7lijZPw6pZ6D/Mng5NtBHJMT6yQuXA87VSvFPf75DBmmC1RzGL6HmABK6CCkloTbXI/h8DkEjYq6/6gNQau8hTaLcC6nuSCEUwwB3HFe6uZwwlRvpZ5p86CB1rijIRXdoxgFke6cw1WZn6QPHiVw0aohN6EdCVTEYSatFBIM56IRRwnEUIFGNFye3bBfJCr/4+r+6p40snHBZBAzhcHp7z6sjApN0fgWRI2t+IJFecLgYNNCGZatKkFM/hIlI89944Gr1bR6mWJBoJutMPxaSXN0ViD6vMgL8wk5m92GmjPYOrhGPgQPEvOzZYkU/Wwwt0VVuPsiPUwjujdqyCbDEtWLpMME1Ft4cSiN1vE+oLkd10z44vWL4N8Ep6KgQ3gx493e9eVMn0G7NoNWsRZJgaFuEMA5nrUcpMURaNhOPUoEMnZlfv4imtH0FKOCDgkNp8gwBrJOnWnL8Ujberr6z8t1lrFgIjZIqUtiWEn+fNFrhh4KzRp/X8y73JjRJJ51+HkkzQOMY6RSKVj41gW0nj+CipJ0bt6FO6Juhid9M8edxxLkMXR9ZbY28M4RsLVGVTtR1Qt3I8NHAsvsq3cje+3N4ifWQnMQKpAcAEQjV/EQ8hqE7Qpy4pDcGpTHTh1o1r0bXLekgVutZO6YWwMXwzKnsawNHtM0emTwsIDMZiG/VJOBjEbMXqnB++XYbtqidK74XhK2FWcfaIyRGIqcvu79WDyvbmxhythW6XXBlx7cLJMBpxzLetuZIQ9cPyVP5UFvyITfy9OWLrWTe6RsfI40zIFaulwPMb/rWJuHHHY7fFtMR8z8LKe4yvog0Tb0VpG4EXTH1oMaiedxm9msSx/4n+EBRril3RZp2+jsH9Ge7CUPLfy5Mw15YcV/QWqUfHwLnBE1LkgthNENCX3PMesA17CbgluiHPMcDRr2CqXgGR0oXzCXKPfy1UQ6znsOGcqVf41LC8uJaK3+vsRCBem9lP3jB1tqWd3CagOHRNRSZSP6rZj4gwWs7sb2vX2tLJtt6dehCG/xAhVeZQ6rmjijdDb7Nm8wU6DHmWFWdvIanN05b+8qfezQJTEIlSjkM111Fi0QxeGuM3CzRPa5Jf8xvlGtn8A86Kof99BHhlaW1VBUUo+w7oSJs06Uh5BCLl6HiHXJ6mGJqVENNRWSkJZoLIqDYbqrGQFzhXL4Ba7ImdWFOaCiLqzuG808euO2JpC6Go85Eg0wtOIfW4JK3zMhTgf9t8suWXBsvZuF2av19wwcilllquck1y+7XnMEFLFXLmKt8lmesuHoazjrXYHB8TikXKXQu72RcfzBkgqtqFxisi+p0nRoWrb/z+S02xfTQdwDOV/iMMphM6D+qMj3wbGd9A/CGvNZ07l1bvACCY+42T8f3LiTJOV7wGOj+dSmytLDgSIdIxN45M9bw== X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 120fb2d5-dfd1-4577-4773-08d9cb007384 X-MS-Exchange-CrossTenant-AuthSource: AM9PR08MB6737.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Dec 2021 19:21:44.9217 (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: VNQK+zF6zdwfUBGQaEN0c9SNmWShm8sSdDlh5SGqFTPKFAIT264ZFGjWEuPqkB1vMplS/znWTKSCSw5I1q/WsoUbrpozSaLJcGwupxQn6XQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2276 Received-SPF: pass client-ip=40.107.7.107; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-HE1-obe.outbound.protection.outlook.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Here we use job->blk to drop our own reference in job cleanup. Let's do simpler: drop our reference immediately after job creation. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Nikita Lapshin --- tests/unit/test-blockjob-txn.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/tests/unit/test-blockjob-txn.c b/tests/unit/test-blockjob-txn.c index 8bd13b9949..c69028b450 100644 --- a/tests/unit/test-blockjob-txn.c +++ b/tests/unit/test-blockjob-txn.c @@ -25,14 +25,6 @@ typedef struct { int *result; } TestBlockJob; -static void test_block_job_clean(Job *job) -{ - BlockJob *bjob = container_of(job, BlockJob, job); - BlockDriverState *bs = blk_bs(bjob->blk); - - bdrv_unref(bs); -} - static int coroutine_fn test_block_job_run(Job *job, Error **errp) { TestBlockJob *s = container_of(job, TestBlockJob, common.job); @@ -73,7 +65,6 @@ static const BlockJobDriver test_block_job_driver = { .free = block_job_free, .user_resume = block_job_user_resume, .run = test_block_job_run, - .clean = test_block_job_clean, }, }; @@ -105,6 +96,7 @@ static BlockJob *test_block_job_start(unsigned int iterations, s = block_job_create(job_id, &test_block_job_driver, txn, bs, 0, BLK_PERM_ALL, 0, JOB_DEFAULT, test_block_job_cb, data, &error_abort); + bdrv_unref(bs); /* referenced by job now */ s->iterations = iterations; s->use_timer = use_timer; s->rc = rc; From patchwork Wed Dec 29 19:21:25 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: 12701099 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 6C816C433F5 for ; Wed, 29 Dec 2021 19:26:28 +0000 (UTC) Received: from localhost ([::1]:59806 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n2eah-0001RO-Gm for qemu-devel@archiver.kernel.org; Wed, 29 Dec 2021 14:26:27 -0500 Received: from eggs.gnu.org ([209.51.188.92]:50012) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n2eWQ-0006cC-HB; Wed, 29 Dec 2021 14:22:03 -0500 Received: from mail-eopbgr70107.outbound.protection.outlook.com ([40.107.7.107]:6337 helo=EUR04-HE1-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 1n2eWO-0000B6-UW; Wed, 29 Dec 2021 14:22:02 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nPbyIaesy17esKM52tfafwGJLAYg0AwDedgtNm8cKDTHaaySJhTa/amQ37/Jmlv42If+jZfvF0EhC+VASQRNp9IQyecLhi4FZVY6Qo1o+2QriKOmjUOf59Gf52ZzUVrA53njVx/bFdib33pinY0SUVbLSXTVF9vIsCf5E0S+kW+47Hw1zpd0CkpvoJORtMlEgxaCST0AwA04vukiVkjq+VOK4AvnKy0tWZi5hBscbljRAO0h59ekJefql4mKAYCgRie7VQV9bIols6RmmPpUXDiiq1KUVfqsCarpQ2YlDDcYJwbruGTytgr8TpdAuQmgOH4M7RWvSaM4l+F8D21xNw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LswzA72BVL5U4Lkmc+vTGOi/f6t8KvpN5xLM3nXgBGg=; b=KuduSZziAqtbaKrOfYfDHWoCV3gFYumADfIxgTmkHJeC0PiKrrcOtZLjaH3e6JkJYJWaGGJJWygjhqq8Lp/V8/y1OTopyqu8xnVmn0sdy6I/d/t4N34+zCDTn3atk7vs0BtvOuQTiqY9+Kid9HY5BHW1rQYhb8gGqUkjvSPC+heyC2I0u3vsEXq0Q4n84UZcBK4ok/WeXZsm5ryqMlDeQaUqWfSx14+Td9LewWjt/uCgoFxhdGMn5G8srQ5+vDRtVzcFL6t7jAXD6kVikeU7ZM5SPUFVuhHIxzS9+gUevtf30XKd1IxAEf3zpoLEfVO5JeV0bTrTlz+dmupjo9kEnQ== 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=LswzA72BVL5U4Lkmc+vTGOi/f6t8KvpN5xLM3nXgBGg=; b=mgGtILgFvOCJq8/F8wlMfMrDRen+dLIlHrQkyEZAT8sLn/BPu/RWEyR/1j1gLfbbdItQ5L+XfSEYvCdwmB/xdaWB3bREuTGJt3eBGHiQCtsmRld5O1TP7qxIlmZyHOWhwc7AhbSVsEqjZZMjeFg8QoU1vgj2reQ84hSTX6l5fyQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from AM9PR08MB6737.eurprd08.prod.outlook.com (2603:10a6:20b:304::18) by AM4PR0802MB2276.eurprd08.prod.outlook.com (2603:10a6:200:5f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Wed, 29 Dec 2021 19:21:45 +0000 Received: from AM9PR08MB6737.eurprd08.prod.outlook.com ([fe80::b118:483a:d003:3112]) by AM9PR08MB6737.eurprd08.prod.outlook.com ([fe80::b118:483a:d003:3112%5]) with mapi id 15.20.4823.023; Wed, 29 Dec 2021 19:21:45 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, kwolf@redhat.com, hreitz@redhat.com, richard.henderson@linaro.org, peter.maydell@linaro.org, vsementsov@virtuozzo.com, jsnow@redhat.com, Nikita Lapshin Subject: [PULL 4/6] block/stream: add own blk Date: Wed, 29 Dec 2021 20:21:25 +0100 Message-Id: <20211229192127.1772134-5-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211229192127.1772134-1-vsementsov@virtuozzo.com> References: <20211229192127.1772134-1-vsementsov@virtuozzo.com> X-ClientProxiedBy: AS8PR04CA0152.eurprd04.prod.outlook.com (2603:10a6:20b:331::7) To AM9PR08MB6737.eurprd08.prod.outlook.com (2603:10a6:20b:304::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9bebd87f-68e7-4bc2-a3f3-08d9cb0073c4 X-MS-TrafficTypeDiagnostic: AM4PR0802MB2276:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1303; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wj0tneHXqoD9UJ0pBIVDLzugIR47SmNKLDhgQfdnttjivNGOQOYE++rNZmh25DSVtA3J1LDy6fpQ0ZJ+8zNTPgpfjnT78N68vZwyx7OsUqfFp9xvP7WS//6OiMPmLYOS/27vcKgsNwa9Gx+1dOyceeA1ix0xfT199CIhnsuoJowpFfOG4ZtFdbRw7BVA2DcCpdvF2VSbPgUgATVrKucjhIIezzfMZm9s6bgzAOXl1UliAnJp8k56qZnGXdDaZGsGaCytP6eEl8thM+MEhkRX6xgZEl4kmfUN9yDG04+CVTR0Yv98rvYUgg/TvsGQAlD+A8kevEu0s6kLAjHEewHNy38C8IHWhvSk9DidZ/TKPeWUtXCJs/MKpSir5hqpQIjAnz+abWjT7HxEmUcb7jzy9xOZbEPVicJTdkAhOpUegYwpRjJ12Fyc5hKkGJs0ysetSwG4IH8R6HPcScJOFjlNKdO40d7J8rZbeBrHKFqcX9jixVlO8dBsk04a6V4JC2/xZtQMoCPmY/9VkZzO43g9X8ZLPTLbXNmOiw18IC37CK9dwA0hPaeiM3BAyHzgpwQKugTR6hBG9TQyDyW3ml5jvQfIIK91C0Gv4VHtmQzEKXK3IxsktK5eq6OHP4WWyI7nEtzbsZx3um6KY4T80iTITddXyohtclDHBrCH5v82KOpopvLKkK+5SHNmYCWvTZp7KtwMFFglZ5m9Z58Tq7/+pA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB6737.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(508600001)(52116002)(1076003)(6666004)(83380400001)(2616005)(2906002)(6512007)(36756003)(6506007)(107886003)(316002)(86362001)(38350700002)(8676002)(66556008)(66946007)(66476007)(6916009)(38100700002)(5660300002)(8936002)(6486002)(186003)(26005)(4326008); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: sqskrpNMuezbaryG/ZfpwaasigqRFGtOHIxfJ9J6ngnxVxCjBwk7DPpc3cbNcMLgfBFB91qhf2In1gT96Kpa6wQyItmBQd/eJhRShOWcI2KwYQhT08xcMgfVTb2zhqMZnmjBSvB116PIFQnfsnxEA7vRno7gkf6LbphTe11Kpo5N3MeD3WwYDicW3hwC8FmOaohBA14rMan+i2DL4TIXnzXoBiA38FQ+JqVccywNrP1SHSkFAM4DFyDeomrCJBc4edXPeSX5uy41z0eu26h4Tnf0Y57XL4E6VCr8Bk1fj6gDSP3qYra4wMIDxJ2JynSNQVp5UHj9fRhjIMDUjT1SWamqPlIc9ivdtAr+9N5fT86p+a/NXpGhkhcwXtbyaMbuiESRciXQJNXWv1YcM0JWut134G4y6XgpLnbRgJZgWRZ4pDK0gWBxDhmcujABoimpTOKpvWHeBnoiwNeFDmuWTwD4mmZyOjS8sqypwJ5leZ16RmMGDGxU4Qo8ywmWTbtRLMq/IPPDsQXL81LOWEFq3HAx63n0wU04zeK5x+5ccluHcDgwQjoqQMsBOB3/UF8T7R74R7rxy0auLW1gGSWL7TJNmfViwGxBtyjGcNNo0ma3nNkSV8X6QmW+TEITiNHyHxJ3wVdeGcKEjaGiJ2lO0Rbi9zD1at31gHLbGg6E9baCJ5r92zqTjjyyWNzQ2DD/+zAlufcOtkoTa8GxOBKmlpGJMA2x6Ff3FxW82TdyMzQJdiPgYIdIzQx7ZNyLcXjKIvz2CTPD2oGaUZtbEkJ0m1ouTOqKJazQI/LrDKX/WVB9KXkQyaxGfnWJ/F3EFwFWTpLKGwkyTpH4BzjCanB/DfTZFQLZf946qz/QBDhxSWX2JXcPRlNvTTPA3hTdEu9AgNwO2qr90LM85O67DvqwIjZUImCsT1rgQvQXgjZpXGmNIDKRZVZJAcainyBwIjNC+rKl4z5hE5laYy3OBPgyQtDu94HebtHaH6IkoawQw1/e+NBuCNq4/wRl6BIPKYTUgRDseej7czQXar1UxZjmqmQHZavyPx2apk8+q99fmaoeYkr5YOk4mopVr16b+5lbzfeqEltExdbpCJwsGtoyBmekJ2vqUzmbe9pwguDPQwBomIrINZ28fCS2YRByI7c85bBzou3wezOr+KvLCfvfc6sGEhD8ihlI/59MUF5ZpCsQVUMol+qNSIz+s1PRAIsxrtrPUjw7peFItJhTL/oE/g9t2CtxikL7Gz3bMlL/SaHSOfmllYy2Qw6zYhhMjxz6Ez6HV2dWNSPk07chfdSSjGO7u9N6NSdcCwId97+EKIN6ZsECdjoe7OcO4jjSDcCum5YMiDo14FF2Ayei3A1vXDyUnp0B8Ze0OCZKp+Ipp4yBDMe/NAEhah04zuDhky9Xo3dfsN4wPgezrrh31kgf5b+yVIKE+jGuAYSF1j/EDQKINV2y0WSWvknV49CKQq4WD7iZBc6X0SdnCrxHu9F4LlgKYBSIDrl6nkIq/+FGF4xRBCfxhitNcu/wK7q1d2t6kP8CniZj9XYqwbKgCmOaLAD9kIawjaKFeI+ttoQ1+8NBQbuEFuksLxHs0xOgHCaO+AZftl4Rn75TDWBfr6mABm6OV7SIZ3kBp1mkndNV+wvAnNrIo/QZ+c4BUgUOR3VyEUNyq0Bt+s4JyWbXjAljbQ== X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9bebd87f-68e7-4bc2-a3f3-08d9cb0073c4 X-MS-Exchange-CrossTenant-AuthSource: AM9PR08MB6737.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Dec 2021 19:21:45.3278 (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: G0ino2FwDBZhIZC3z5S72pGLJD4e/kkv+7DaX7yHE0nXHDMQevTjX95/YmF9yIO1rui+x/0hX0X2ObUAklDFt0oyGZjo+TVAbCMyiAO7Egg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2276 Received-SPF: pass client-ip=40.107.7.107; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-HE1-obe.outbound.protection.outlook.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" block-stream is the only block-job, that reasonably use BlockJob.blk. We are going to drop BlockJob.blk soon. So, let block-stream have own blk. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Nikita Lapshin --- block/stream.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/block/stream.c b/block/stream.c index e45113aed6..7c6b173ddd 100644 --- a/block/stream.c +++ b/block/stream.c @@ -33,6 +33,7 @@ enum { typedef struct StreamBlockJob { BlockJob common; + BlockBackend *blk; BlockDriverState *base_overlay; /* COW overlay (stream from this) */ BlockDriverState *above_base; /* Node directly above the base */ BlockDriverState *cor_filter_bs; @@ -88,17 +89,18 @@ static int stream_prepare(Job *job) static void stream_clean(Job *job) { StreamBlockJob *s = container_of(job, StreamBlockJob, common.job); - BlockJob *bjob = &s->common; if (s->cor_filter_bs) { bdrv_cor_filter_drop(s->cor_filter_bs); s->cor_filter_bs = NULL; } + blk_unref(s->blk); + s->blk = NULL; + /* Reopen the image back in read-only mode if necessary */ if (s->bs_read_only) { /* Give up write permissions before making it read-only */ - blk_set_perm(bjob->blk, 0, BLK_PERM_ALL, &error_abort); bdrv_reopen_set_read_only(s->target_bs, true, NULL); } @@ -108,7 +110,6 @@ static void stream_clean(Job *job) static int coroutine_fn stream_run(Job *job, Error **errp) { StreamBlockJob *s = container_of(job, StreamBlockJob, common.job); - BlockBackend *blk = s->common.blk; BlockDriverState *unfiltered_bs = bdrv_skip_filters(s->target_bs); int64_t len; int64_t offset = 0; @@ -159,7 +160,7 @@ static int coroutine_fn stream_run(Job *job, Error **errp) } trace_stream_one_iteration(s, offset, n, ret); if (copy) { - ret = stream_populate(blk, offset, n); + ret = stream_populate(s->blk, offset, n); } if (ret < 0) { BlockErrorAction action = @@ -294,13 +295,24 @@ void stream_start(const char *job_id, BlockDriverState *bs, } s = block_job_create(job_id, &stream_job_driver, NULL, cor_filter_bs, - BLK_PERM_CONSISTENT_READ, - basic_flags | BLK_PERM_WRITE, + 0, BLK_PERM_ALL, speed, creation_flags, NULL, NULL, errp); if (!s) { goto fail; } + s->blk = blk_new_with_bs(cor_filter_bs, BLK_PERM_CONSISTENT_READ, + basic_flags | BLK_PERM_WRITE, errp); + if (!s->blk) { + goto fail; + } + /* + * Disable request queuing in the BlockBackend to avoid deadlocks on drain: + * The job reports that it's busy until it reaches a pause point. + */ + blk_set_disable_request_queuing(s->blk, true); + blk_set_allow_aio_context_change(s->blk, true); + /* * Prevent concurrent jobs trying to modify the graph structure here, we * already have our own plans. Also don't allow resize as the image size is From patchwork Wed Dec 29 19:21:26 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: 12701106 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 635AFC43219 for ; Wed, 29 Dec 2021 19:31:46 +0000 (UTC) Received: from localhost ([::1]:39318 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n2efp-0006tZ-4o for qemu-devel@archiver.kernel.org; Wed, 29 Dec 2021 14:31:45 -0500 Received: from eggs.gnu.org ([209.51.188.92]:50032) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n2eWS-0006cW-Mn; Wed, 29 Dec 2021 14:22:05 -0500 Received: from mail-eopbgr70107.outbound.protection.outlook.com ([40.107.7.107]:6337 helo=EUR04-HE1-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 1n2eWR-0000B6-4t; Wed, 29 Dec 2021 14:22:04 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g4dBIhXWUf8hom3nDUicEmyNNqy2QLhWdfg21Zk78DShKrbUk9XI6F2pUGqi8ltQgRhBrnyiMby0kbW4RKFQ7O11w91jcUc52Cw2XvCwpo2KklpTA08OX6rpwbVV1XvzikhMB2t6hm18kRjg21TU6duAg1aXAde4sl0ZwqrjuOsmviYC+dychce7ZcjzH+sloT+KQDvimotFQUC7dcBhCZeVFlb/QS5ads+F1wkcM4JoLg6RdmZRFcL4ccwd90RPx9elI8UPP3VovytGpVQpXhj0gjO9RT7VJrDG4MjmqwGpf0zjTQlM/NIe8MQe106qXPhlmzLmP8Oz5bjl12zHCw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=v41zYDjNrFCJdHE6XKeGOmmyjLe3Nxzfp+Uzecl4rr4=; b=CKnfQk//GCOBG3MkNXBygaDDfsxNv757RyKMh2E2UGrb0DkLwjLAOuJWCcbSdwrl4a5waQlxVbOpQi5TqaXPckeRvblIappLBvyPjyl7VnghxwjAwTI5pkTdOpizbuH7yg2e7Og+L+xFODtLZj6BzZHmbX5jMq1hrCvG8DLx0W/diUykFInAY95JLsrwasYod9b9cF/a+wi0PE5xqofTAE/vu6RMcD5IHgEQ249WW7oTQsASRAO/3NrFjHA51F828Hx3X+BXr52uoXZF9YX4d/y3HNlY6mZotIgADKZLyW8fmV6o9EACwGIydSdc6tXQWOMeaCC9uu0mk5dw+kLcqw== 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=v41zYDjNrFCJdHE6XKeGOmmyjLe3Nxzfp+Uzecl4rr4=; b=I7JMA3+tJdYyaQ0+ytjVJ/nkggFG54TDfathSWbVIiWF43kMQ5S22nEZlc2TDUn2WnjbzNQseRdPcjBWKWEif/mJBQ66N2CxUCRFKb2XeRTVYSLXycLyimcXe5lOeGzbC9N4LOdwsKmDvRWv6f1ppCTdexR2hjj/YzlXa+hFrJQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from AM9PR08MB6737.eurprd08.prod.outlook.com (2603:10a6:20b:304::18) by AM4PR0802MB2276.eurprd08.prod.outlook.com (2603:10a6:200:5f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Wed, 29 Dec 2021 19:21:45 +0000 Received: from AM9PR08MB6737.eurprd08.prod.outlook.com ([fe80::b118:483a:d003:3112]) by AM9PR08MB6737.eurprd08.prod.outlook.com ([fe80::b118:483a:d003:3112%5]) with mapi id 15.20.4823.023; Wed, 29 Dec 2021 19:21:45 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, kwolf@redhat.com, hreitz@redhat.com, richard.henderson@linaro.org, peter.maydell@linaro.org, vsementsov@virtuozzo.com, jsnow@redhat.com, Nikita Lapshin Subject: [PULL 5/6] test-bdrv-drain: don't use BlockJob.blk Date: Wed, 29 Dec 2021 20:21:26 +0100 Message-Id: <20211229192127.1772134-6-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211229192127.1772134-1-vsementsov@virtuozzo.com> References: <20211229192127.1772134-1-vsementsov@virtuozzo.com> X-ClientProxiedBy: AS8PR04CA0152.eurprd04.prod.outlook.com (2603:10a6:20b:331::7) To AM9PR08MB6737.eurprd08.prod.outlook.com (2603:10a6:20b:304::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 07eb2968-30cd-4d95-9e2e-08d9cb007402 X-MS-TrafficTypeDiagnostic: AM4PR0802MB2276:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:20; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 68+SHIH7f1jptFca/V0OzCm0SO6ttuJH+B0ZsUSqx8U80emdL4HBZUGr8GSLuwxgdF8FnkWRb6XAJyLa9EQXsOr5dKAWtMGaqfAEHWF+Na3FDKnqVKd2bFDS8s/J86cR6We1tYWE8J1iCFAPZvuKSdqpvUWkTSyRQaenWPgPehNxNe48xpwb1ZDPrQucY2eaOKeSOe5Ws/lojRHApP50ojTvgbvn047nRFTYMOFNn3FM6Nfr+CxwRV9IRY7lCRbnG+3Si30n5HtpGaT7LZmUkNVM7Gs12hvKu7R79cxZSCyFoPEIQ3xe4C/9tvjq+0F17936tnjSY8rP867SGK/v8Pr0nEd8HwP8/7IT1XZHPG1v9G7+K3R1VE2k5pfInThtVgAbdNhVqM1QVpzb6FIddj7O0IKVBx9iraqwwjx2K5x8mUwxM/eP3fH3FmK7Wj/sXiKqSrVk79rTEbtBStryScIWfl218dyjS2UE9N0edsKzk6c23y8T2lx/pvffVSKMDRdRN745PxWKAMwzAbl+wJgP47MYXyM2AAdHBbLzIAE+Zi8x4Grf7URkPON/MlXOxoq+WA3YFrDChUEj8dYCWsH/VQ9LSkEQUETaokk2xueL3Ba9RMxQKq9Bne1zQwGZW8lt7NQPQsxx/EIkFX3M5pSrbDptGQhqZtDuxl9z5CPrWp+q5WRAU9s4DIbhKx1gpA0rVi+lYSE5urLhq+SIHA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB6737.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(508600001)(52116002)(1076003)(6666004)(83380400001)(2616005)(2906002)(6512007)(36756003)(6506007)(107886003)(316002)(86362001)(38350700002)(8676002)(66556008)(66946007)(66476007)(6916009)(38100700002)(5660300002)(8936002)(6486002)(186003)(26005)(4326008); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XNLsXf8BQSryxF9DDfOhjeznWb8BSBlyv4nDfIiWnkTjrA5EWLKsgK0iWGJz2fYbjwbdIGlzb5wSmP9OXsIEKKex5BjQZAQqzDJfNG0yLe3s8X0WXcK/aeHDebXSYgkbTISMHiVSPWvPwp+h7F1LZvtD8fvST5zFDw2EZeW/qhpp378Bbn5ZcKR9cHhTAuOTB5SbeUF/5xIUK8bPcC/9cian7Tonb3XAw+gwSE+TH/kWF92r7tT7gl3IkRNZLZmDDjVmiLp1e9wHnSIcxKbxVJ9UdVjbgM/PzdWm5qJSUPvHkJKDQAEMo1N9FiDApPbU11YV/FsdvysEQz9Rnm79mgtmxVaCCVFukh9eihQI4OXqS7SGSGmJy1+tK1m0jhz+k/ox0WGCLUlY4IF4cdXz/wYlB1XvTZOD0hpzbBLQj/bENkyiU9zMviLWdtIOgJzm45TkOYujDtqe5f6hJKhIkSUsu/FateCHl90edaE++8w1QWG3OB7bCr2qPYLqwlnfVVdxwTtxtN4VqPZxtLF7NUeh/vbxuu5fzCtHKk5Bu0Y4Elmj/GFE6jZyMlDqNg80l/023tTf3DTVMj4FzB58tdfpI9JL1Iy3NN4AKhArYEbMNtLMC1WrU1jn3SpU7OV9xLc5Sk/M8HGEULdxTSzKBb7al5plROp2D8xKnvNaPLQ144RK6vuqo90sc8gXp+CxplKLjHuNBaF3XHU/6+eh52x9s8odCMZjIkRMQA846MEw8VFBDP9IUxq5EWvwda6Hh7sNfS6f8irMD93Id49+GBfXAW9+lbpC4k3BpJVGAjTY12cQ3bGJQXGn4BX8H+6VFDTpVXazyWDboV/I+RDWCtWwc9iMI68RMNisS7APs4Z1Yj22sasARwJRiaqwqqob6Ow45mReb0LTYkJB9atz/47gzDyteJ1rgfe3pXMuEZTIGwTqE14SoSEA33bwyqpJL39IwcAvg/bPDgPIVoJpfbWmvt5fsEBwJSWfRcxODhh7R+VqW0M2LECUAw2HoXue9e7AE/uIYyrBxjGwQuShQGpnZVlUWgdJG+Lep8p5hNjnI+xMl+iZt6Ji+uePqxInJFkLbWaE2gKNO0/BeE3vWvfDD4NRjZHJooxtLoOvTZLAEzKMQNNcneZQ45ZVKUqVBFnzQRmfkwKWth2ab3oTffcNvq8q2g3jN16QIWdVDnYWs7mWdz9MXZkW+S8wNhTJQHGToBiQHR2gTKYJOPpVwOgo1tQD/dKSY0iwYBLF+R+q5WfZds0fxKqVtP/x/08ll+PAwga1qYc/8My3zkN/OJUoKgDDWAoAnp1nk6U7zRgIWwlR8VhhqrDGVWB531U/qgUJxBJhiB53ZcDSY1u3EmgvT9kVThCjNR6a4/t9FcfjTja4+IB6Vy3CgjUW2OyOQUdrJ4SFvRRwL1PgKnC1b7+reIByhmRxDVTAC2HxZJRxHl9MfqyetRDFyJMBlyThcTC1NRfD6xC/i7uyCz3ZaL/2nVml+KNpPfW4da2LYfNpnspaUuXFAbwUIMNvMl2weXooMPBK6KqKBkYkOthuh9dVwcvmwp8NiTABnVRypZbCtm2+SoD67nHoFoyUZLBJkx6YdMixBKZWeAADSArbzI/7KwZKdRQ5fy9eLFsVl/9mFUxCnryZQYNSy7/hd6CY4cAZjmLP66zuKf+CArDwEA== X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 07eb2968-30cd-4d95-9e2e-08d9cb007402 X-MS-Exchange-CrossTenant-AuthSource: AM9PR08MB6737.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Dec 2021 19:21:45.7652 (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: bvVuvvFsUJrXXODh6xSoBLJ0F3JTsPm3mTWuIm3tAizvXfWSP29Zz1Hy4sDbCs8QKVd/KcHYaonvUAYzSfK/7QxW1T+IDsWqLDaWrUL7ZjI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2276 Received-SPF: pass client-ip=40.107.7.107; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-HE1-obe.outbound.protection.outlook.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" We are going to drop BlockJob.blk in further commit. For tests it's enough to simply pass bs pointer. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Nikita Lapshin --- tests/unit/test-bdrv-drain.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/unit/test-bdrv-drain.c b/tests/unit/test-bdrv-drain.c index 2d3c17e566..36be84ae55 100644 --- a/tests/unit/test-bdrv-drain.c +++ b/tests/unit/test-bdrv-drain.c @@ -772,6 +772,7 @@ static void test_iothread_drain_subtree(void) typedef struct TestBlockJob { BlockJob common; + BlockDriverState *bs; int run_ret; int prepare_ret; bool running; @@ -783,7 +784,7 @@ static int test_job_prepare(Job *job) TestBlockJob *s = container_of(job, TestBlockJob, common.job); /* Provoke an AIO_WAIT_WHILE() call to verify there is no deadlock */ - blk_flush(s->common.blk); + bdrv_flush(s->bs); return s->prepare_ret; } @@ -792,7 +793,7 @@ static void test_job_commit(Job *job) TestBlockJob *s = container_of(job, TestBlockJob, common.job); /* Provoke an AIO_WAIT_WHILE() call to verify there is no deadlock */ - blk_flush(s->common.blk); + bdrv_flush(s->bs); } static void test_job_abort(Job *job) @@ -800,7 +801,7 @@ static void test_job_abort(Job *job) TestBlockJob *s = container_of(job, TestBlockJob, common.job); /* Provoke an AIO_WAIT_WHILE() call to verify there is no deadlock */ - blk_flush(s->common.blk); + bdrv_flush(s->bs); } static int coroutine_fn test_job_run(Job *job, Error **errp) @@ -915,6 +916,7 @@ static void test_blockjob_common_drain_node(enum drain_type drain_type, tjob = block_job_create("job0", &test_job_driver, NULL, src, 0, BLK_PERM_ALL, 0, 0, NULL, NULL, &error_abort); + tjob->bs = src; job = &tjob->common; block_job_add_bdrv(job, "target", target, 0, BLK_PERM_ALL, &error_abort); @@ -1538,6 +1540,7 @@ typedef struct TestDropBackingBlockJob { bool should_complete; bool *did_complete; BlockDriverState *detach_also; + BlockDriverState *bs; } TestDropBackingBlockJob; static int coroutine_fn test_drop_backing_job_run(Job *job, Error **errp) @@ -1557,7 +1560,7 @@ static void test_drop_backing_job_commit(Job *job) TestDropBackingBlockJob *s = container_of(job, TestDropBackingBlockJob, common.job); - bdrv_set_backing_hd(blk_bs(s->common.blk), NULL, &error_abort); + bdrv_set_backing_hd(s->bs, NULL, &error_abort); bdrv_set_backing_hd(s->detach_also, NULL, &error_abort); *s->did_complete = true; @@ -1657,6 +1660,7 @@ static void test_blockjob_commit_by_drained_end(void) job = block_job_create("job", &test_drop_backing_job_driver, NULL, bs_parents[2], 0, BLK_PERM_ALL, 0, 0, NULL, NULL, &error_abort); + job->bs = bs_parents[2]; job->detach_also = bs_parents[0]; job->did_complete = &job_has_completed; From patchwork Wed Dec 29 19:21:27 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: 12701107 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id BF5E9C433F5 for ; Wed, 29 Dec 2021 19:32:00 +0000 (UTC) Received: from localhost ([::1]:40008 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n2eg3-0007NX-NN for qemu-devel@archiver.kernel.org; Wed, 29 Dec 2021 14:31:59 -0500 Received: from eggs.gnu.org ([209.51.188.92]:50048) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n2eWV-0006i7-BT; Wed, 29 Dec 2021 14:22:07 -0500 Received: from mail-eopbgr70107.outbound.protection.outlook.com ([40.107.7.107]:6337 helo=EUR04-HE1-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 1n2eWT-0000B6-Ad; Wed, 29 Dec 2021 14:22:07 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P6opznIxITxfwCs9N2FJBX2LAVWMStziA8beitxOlF9ArCIlWdWT6rTVpgYfn9HVjccrVsJSMOPYuPqF/oSATPTNi1GL7eNEnhtruaH33miZp+imRCCDmpg1Ss5j3XxjwqNm/goht0lgG5QdCgdguj2bq42I8r4kuJGts6HPP1FGuw+XL96VqJxufsId0yy4D0TYO49GUBUt6ED4OEaW97296Z2078QN4j8P7O5iKs1PyWB3FgKISKLJTb25BhSnW5+Luiq7vUMMIQ0GozdKvBydqgr5a9WQ9L4b//meL5CGqwmVDCW10uqB/+stDqu0YO6OTxSyJScQ6FHSdmNDfQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LUpUzwWdrOr9MTpj6QIgtQC9lRyIPeowNrpLguhRrCQ=; b=ef+1VSAmRcGU43YzP7epvzhRQdANMU/uC7OlLhUTHte0+fG2Ti/4IGXFlQar9A5/iiskDcuM32ojN7D8n8a5BC/Q2UYpJoBoGweRHZkLFzHc0M03Go3Px2v7oiUhCwjoubeF2m/0XHvz2bUOOgXc2LhcMK7TY7QL7FIV2cKd8YV9tbJ8PL+ZgjpX36c0qGxIxWO62glG4LcfDeQNCJn9eU7efJ8Hl43J43JsYIiHGTLcEImn9Ot6KW/zt8eEZ7gKUYAXM0Sj2hzrqhQvAsbyBmDniGrRDMj/wN9+VKfsFr87JUhI7Bmd6KfyKtTC6gcg/7DWfOuHZ06Z10bMAJS9HQ== 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=LUpUzwWdrOr9MTpj6QIgtQC9lRyIPeowNrpLguhRrCQ=; b=OOpzdUOO81/TeQJqjgIaN1GsZu50MU9wx+uR0LYYs6NdUSP0FwctKOyw5umMfiikXw69bsMOpj0XSCBW4e0Fzg7Wu6ODCUMvxhol5DNmB9xSt1tH+fFyM4aZcSPad3+BTkpw9uprL6AVNFOPPnHzv6yCR6uu/rua/eiRutj6+jY= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from AM9PR08MB6737.eurprd08.prod.outlook.com (2603:10a6:20b:304::18) by AM4PR0802MB2276.eurprd08.prod.outlook.com (2603:10a6:200:5f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.18; Wed, 29 Dec 2021 19:21:46 +0000 Received: from AM9PR08MB6737.eurprd08.prod.outlook.com ([fe80::b118:483a:d003:3112]) by AM9PR08MB6737.eurprd08.prod.outlook.com ([fe80::b118:483a:d003:3112%5]) with mapi id 15.20.4823.023; Wed, 29 Dec 2021 19:21:46 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, kwolf@redhat.com, hreitz@redhat.com, richard.henderson@linaro.org, peter.maydell@linaro.org, vsementsov@virtuozzo.com, jsnow@redhat.com, Nikita Lapshin Subject: [PULL 6/6] blockjob: drop BlockJob.blk field Date: Wed, 29 Dec 2021 20:21:27 +0100 Message-Id: <20211229192127.1772134-7-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211229192127.1772134-1-vsementsov@virtuozzo.com> References: <20211229192127.1772134-1-vsementsov@virtuozzo.com> X-ClientProxiedBy: AS8PR04CA0152.eurprd04.prod.outlook.com (2603:10a6:20b:331::7) To AM9PR08MB6737.eurprd08.prod.outlook.com (2603:10a6:20b:304::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 70e14abc-3ebd-4ac5-9874-08d9cb007440 X-MS-TrafficTypeDiagnostic: AM4PR0802MB2276:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5516; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: u/ub2Cj92ui9baOTrH4/oBVmX2Coq+8RhagwAIAODE9yemI1kkfujDHocXsnkLwLCbJWUWcBf9Q0HwkFe/aeixz/Xq41XXmVICB5u5ySKnaVyyUNwDOOpPCN7TH1YyaDUCFVfcr8TxF9PpAAEy4prQRjHC53bs1BMM+suN/XabwV3dp0toESlOnoEKo+gC4J9Lud9c0yBIoblKsddccldciX9dNGB/JbQpeUu7u9rMsuF2UD3zpxanYe6z0ac22AUBxeSnD1ZBOsiDgie1LErUy/4y+lDS1qSq4H8OpymDv6ODnfl/rZebnJjB+mIGORJSYwCMBW0sfu4b0vUDrx+xwNvwHQlCujne+/LCKAqOPGGmjYDfy0J+M1FBPQvo4Itf/YjQwnJgUWVdfPgQF5ueKhHxB5D1qq8mOD7tUD34vz64+qqQZHeYHMpb7T06fl2WL40tXDzI+1URmvhup3ELSRpAzjc4hCzW1slPHW+MGlfx52xq8632vhaLWG2fvi9LCIokw0Zqm6eof2hNExfTDPZVWYITzs18KkeY8w+1F/Extcw8m4yYn+LHebdKOiXcGO2UGjcVyfu4pTmtKR79c/MpJG97nslnB2vd4VVteKJXE7zQA8Q+TU9X+/GNGy2nr7Uj/5Gs8SL5a46As1hyxktMsOjRgID3CyoqpsVEnUetl5Dw6jf8ZfUwHB6URgdb4OQWw9chgzesoVv6GYfw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB6737.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(508600001)(52116002)(1076003)(6666004)(83380400001)(2616005)(2906002)(6512007)(36756003)(6506007)(107886003)(316002)(86362001)(38350700002)(8676002)(66556008)(66946007)(66476007)(6916009)(38100700002)(5660300002)(8936002)(6486002)(186003)(26005)(4326008); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: eM7xLSGvrqmUhpHSQsashcUfz5olYvLWj+2lYDaM/589yQrca2g6SniwUcfEVNR/1MTvbOUnozmHKd1GlnlBTt/XWi2mzrL+EhLDZTk0pzfTuLBg/Hp9WW4DwCTqhauzmoUfa95nlvoYaEDuzgzA91wqD/Rn8GwiKB34hgLiVGmIaVHJv1x8Fq8QV/eTWDb+XTIEtot6HaLUosRaCVqq8YyNBdz8JV8XqAVNr1GHGaGIy2Tdwz7crY8Zsvw0lmHeobFE66eBteBxL9CfqhbjzkTlHGRu6fuFHQSDCwBI8rdpHARcCiJDg65rRN1BRnE+QMX6hr7DSlkV5AbIp4ORKoOEpGOR3aMj+lSTjubuMqkIoH+H0Q2ixQzT+oh3mt/PoGaybf4QlPsG4kE/LBsSNUazWrTKGDEcngZGvFt2u5ob0ETZpwARLIwr/dXuRMtd80STkPqYAJQCwttDfy5G6DIzTJU+Q8sKtqDqpB7mBdeu6mb5Y6RUBCSMHnPrOnQTSHUjgUVpCkFk5lhSY3qCFWynXHrSDdDsW5NJ5m7FPjDB9NIF9kZ3JXkqy/nRr/yunef3QTdE5HzJ34JUV0M3Fd4NZg2KzKqCdXcI4EHYTmdxvwVI45O3Mb2wv9UZmIQxkAHKkiV14OSV9WvvRRVsW4KXHfUZugFCS8MYiyEG1IJSyKWDpQgvUI8dRlZ5KOU5BX3M+I9fe0tSTzDuq3Q87V9mZG3L2aIMH3n3/RRDWw9FM9tABRc5iLFnXNd5LnJArjRoXSYovEiec9eHDcvdKo/IDchz4XKueAPYBhingAtqVdbVe7yhQ6J07B3Y2rP/GgyIO/tEg1rdNv4jc2sVo4P3ttgy/+RGo+M95KtQIvdPUP/FahWfVVrMPnrJGh9BgEz++ClvRA7r/wh6gETONnKlWm+zhOUrsU1C9USqZ0czrAggw2pbNheWWI4QgfstKCqgja4PD1Z9XTt2hmLS0aW07MJ08UVfP4qLHkRzWO1ySk+M98q0/NFsdrxNSme2JnYoJybUHkj8FIw6Dy+uGRV7m5XnXrEJMYEx8Anc4QpkbCmNGs6JEyy5+Rti5sLA6AYlhbuevybKAL4/XCjM/iqvs4V/01v/Pdp95IRamqRDqExixMEd4R2t3v6utgwbdDKqAvrqwNNCKbDEltjxRpkaHYvyDPuDGfjtammkYcb2Tlx6WshXG6N3iK4IJPo85Ap2wNj8EK3jBXF01PL+4gEB+y0fRGDh8ZmLx1ya3WekuJ6neYwn0lA5qgOSl8NdI1RZbiO3BPqYqyse5IQYME4vxqaFZnoWjcrnZpurNSIjgZxECPgw/qqOLru9WpRhEbKRdwu90gkRAAgz0WlQjh5CIn6J0ptU0SEBohU59tMTJZJpSsZnR+EcvBQbqcj0XYHRiYu6r4Td+ij7+nlRcVMenjfa9+nhYoIVnbk/QcqCy3TnJ/s5TrSnjQPvOTVnGVjgVu4cT3mGO3plOGACHiZ50iRf8sqGi5mTjneGLXFz07iDzWbWUxEhHJrt7p4kD9MLP7owtWH9nh+bFtrHa2AF8gjYv537KSEKuNGNBUVd7L/0yBNuWdsJvk4I12frFtMoyCSD2DJWc6qYFxt21OF3Nh4Psdiqg0Sazo/a5zEJxERZYmB9usrtIsdYu9yspsfaIaaU1pNOikVAFxmakA== X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 70e14abc-3ebd-4ac5-9874-08d9cb007440 X-MS-Exchange-CrossTenant-AuthSource: AM9PR08MB6737.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Dec 2021 19:21:46.1245 (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: v5Pk1Z/DPBnCpi16T5Ile88c0vE2lfBl+VKaJjsUeyyP8JLxPWvM2QSKhgD43WK/wrpSG1XizB5FPEVr+vVougQKESFArLosP+vjoueK6Tw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2276 Received-SPF: pass client-ip=40.107.7.107; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-HE1-obe.outbound.protection.outlook.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" It's unused now (except for permission handling)[*]. The only reasonable user of it was block-stream job, recently updated to use own blk. And other block jobs prefer to use own source node related objects. So, the arguments of dropping the field are: - block jobs prefer not to use it - block jobs usually has more then one node to operate on, and better to operate symmetrically (for example has both source and target blk's in specific block-job state structure) *: BlockJob.blk is used to keep some permissions. We simply move permissions to block-job child created in block_job_create() together with blk. In mirror, we just should not care anymore about restoring state of blk. Most probably this code could be dropped long ago, after dropping bs->job pointer. Now it finally goes away together with BlockJob.blk itself. iotest 141 output is updated, as "bdrv_has_blk(bs)" check in qmp_blockdev_del() doesn't fail (we don't have blk now). Still, new error message looks even better. In iotest 283 we need to add a job id, otherwise "Invalid job ID" happens now earlier than permission check (as permissions moved from blk to block-job node). Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Nikita Lapshin --- include/block/blockjob.h | 3 --- block/mirror.c | 7 ------- blockjob.c | 31 ++++++++++++------------------- tests/qemu-iotests/141.out | 2 +- tests/qemu-iotests/283 | 3 ++- tests/qemu-iotests/283.out | 2 +- 6 files changed, 16 insertions(+), 32 deletions(-) diff --git a/include/block/blockjob.h b/include/block/blockjob.h index 3b84805140..87fbb3985f 100644 --- a/include/block/blockjob.h +++ b/include/block/blockjob.h @@ -43,9 +43,6 @@ typedef struct BlockJob { /** Data belonging to the generic Job infrastructure */ Job job; - /** The block device on which the job is operating. */ - BlockBackend *blk; - /** Status that is published by the query-block-jobs QMP API */ BlockDeviceIoStatus iostatus; diff --git a/block/mirror.c b/block/mirror.c index efec2c7674..959e3dfbd6 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -771,13 +771,6 @@ static int mirror_exit_common(Job *job) block_job_remove_all_bdrv(bjob); bdrv_replace_node(mirror_top_bs, mirror_top_bs->backing->bs, &error_abort); - /* We just changed the BDS the job BB refers to (with either or both of the - * bdrv_replace_node() calls), so switch the BB back so the cleanup does - * the right thing. We don't need any permissions any more now. */ - blk_remove_bs(bjob->blk); - blk_set_perm(bjob->blk, 0, BLK_PERM_ALL, &error_abort); - blk_insert_bs(bjob->blk, mirror_top_bs, &error_abort); - bs_opaque->job = NULL; bdrv_drained_end(src); diff --git a/blockjob.c b/blockjob.c index 70bc3105a6..10815a89fe 100644 --- a/blockjob.c +++ b/blockjob.c @@ -86,7 +86,6 @@ void block_job_free(Job *job) BlockJob *bjob = container_of(job, BlockJob, job); block_job_remove_all_bdrv(bjob); - blk_unref(bjob->blk); ratelimit_destroy(&bjob->limit); error_free(bjob->blocker); } @@ -433,22 +432,16 @@ void *block_job_create(const char *job_id, const BlockJobDriver *driver, uint64_t shared_perm, int64_t speed, int flags, BlockCompletionFunc *cb, void *opaque, Error **errp) { - BlockBackend *blk; BlockJob *job; + int ret; if (job_id == NULL && !(flags & JOB_INTERNAL)) { job_id = bdrv_get_device_name(bs); } - blk = blk_new_with_bs(bs, perm, shared_perm, errp); - if (!blk) { - return NULL; - } - - job = job_create(job_id, &driver->job_driver, txn, blk_get_aio_context(blk), + job = job_create(job_id, &driver->job_driver, txn, bdrv_get_aio_context(bs), flags, cb, opaque, errp); if (job == NULL) { - blk_unref(blk); return NULL; } @@ -458,8 +451,6 @@ void *block_job_create(const char *job_id, const BlockJobDriver *driver, ratelimit_init(&job->limit); - job->blk = blk; - job->finalize_cancelled_notifier.notify = block_job_event_cancelled; job->finalize_completed_notifier.notify = block_job_event_completed; job->pending_notifier.notify = block_job_event_pending; @@ -476,21 +467,23 @@ void *block_job_create(const char *job_id, const BlockJobDriver *driver, error_setg(&job->blocker, "block device is in use by block job: %s", job_type_str(&job->job)); - block_job_add_bdrv(job, "main node", bs, 0, BLK_PERM_ALL, &error_abort); + + ret = block_job_add_bdrv(job, "main node", bs, perm, shared_perm, errp); + if (ret < 0) { + goto fail; + } bdrv_op_unblock(bs, BLOCK_OP_TYPE_DATAPLANE, job->blocker); - /* Disable request queuing in the BlockBackend to avoid deadlocks on drain: - * The job reports that it's busy until it reaches a pause point. */ - blk_set_disable_request_queuing(blk, true); - blk_set_allow_aio_context_change(blk, true); - if (!block_job_set_speed(job, speed, errp)) { - job_early_fail(&job->job); - return NULL; + goto fail; } return job; + +fail: + job_early_fail(&job->job); + return NULL; } void block_job_iostatus_reset(BlockJob *job) diff --git a/tests/qemu-iotests/141.out b/tests/qemu-iotests/141.out index c4c15fb275..63203d9944 100644 --- a/tests/qemu-iotests/141.out +++ b/tests/qemu-iotests/141.out @@ -132,7 +132,7 @@ wrote 1048576/1048576 bytes at offset 0 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "job0"}} {'execute': 'blockdev-del', 'arguments': {'node-name': 'drv0'}} -{"error": {"class": "GenericError", "desc": "Node drv0 is in use"}} +{"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: block device is in use by block job: commit"}} {'execute': 'block-job-cancel', 'arguments': {'device': 'job0'}} {"return": {}} diff --git a/tests/qemu-iotests/283 b/tests/qemu-iotests/283 index a09e0183ae..5defe48e97 100755 --- a/tests/qemu-iotests/283 +++ b/tests/qemu-iotests/283 @@ -93,7 +93,8 @@ vm.qmp_log('blockdev-add', **{ 'take-child-perms': ['write'] }) -vm.qmp_log('blockdev-backup', sync='full', device='source', target='target') +vm.qmp_log('blockdev-backup', sync='full', device='source', target='target', + job_id="backup0") vm.shutdown() diff --git a/tests/qemu-iotests/283.out b/tests/qemu-iotests/283.out index 5bb75952ef..5e4f456db5 100644 --- a/tests/qemu-iotests/283.out +++ b/tests/qemu-iotests/283.out @@ -4,7 +4,7 @@ {"return": {}} {"execute": "blockdev-add", "arguments": {"driver": "blkdebug", "image": "base", "node-name": "other", "take-child-perms": ["write"]}} {"return": {}} -{"execute": "blockdev-backup", "arguments": {"device": "source", "sync": "full", "target": "target"}} +{"execute": "blockdev-backup", "arguments": {"device": "source", "job-id": "backup0", "sync": "full", "target": "target"}} {"error": {"class": "GenericError", "desc": "Permission conflict on node 'base': permissions 'write' are both required by node 'other' (uses node 'base' as 'image' child) and unshared by node 'source' (uses node 'base' as 'image' child)."}} === copy-before-write filter should be gone after job-finalize ===