From nobody Thu Apr 25 15:26:28 2024 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=1605791928; cv=pass; d=zohomail.com; s=zohoarc; b=PAv1uoenEzokNd//dL0rJl5J6FKFx0DTKvSvRYYOFXA2uBsFMXNuo2jJSq3L9Gyz6WstrWyT/G8TO3Bh36iEke42aKksRLlybK3Gj5ARfcrRHo+ZCq/L4mxEnRUHYDtFUV4udyzqFaRVwN0gMj+ZsLnhA/sApFrsD8xMS8Tz7vY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605791928; 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=rm9hN2aY3MJGb6J22+twsKPzZuq0up0R6e58gGLCyvs=; b=EBEUTHKW8Ew5VLuDEBeLiwO+wCiI1lCOv/zftYV+mNt2CW/5DHHV91vjfShKDtY12xRJKhEVX8oSOGj5qOhiV/7PyvaIrIWIAGWqRLBzdcaP2AEYonUzU3Jvy3CII1n1GWRb0ex0INqH2MP1FKXBIxv2w9IsKQ4JMpA/hFssJsI= 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 1605791928102442.13672250361117; Thu, 19 Nov 2020 05:18:48 -0800 (PST) Received: from localhost ([::1]:49080 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kfjpm-0007c5-ON for importer@patchew.org; Thu, 19 Nov 2020 08:18:46 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59268) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kfjo8-0006In-L6; Thu, 19 Nov 2020 08:17:04 -0500 Received: from mail-eopbgr80122.outbound.protection.outlook.com ([40.107.8.122]:25503 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 1kfjo6-00062k-RU; Thu, 19 Nov 2020 08:17:04 -0500 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM5PR0801MB1844.eurprd08.prod.outlook.com (2603:10a6:203:39::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.22; Thu, 19 Nov 2020 13:16:50 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::fd02:1330:f620:1243]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::fd02:1330:f620:1243%9]) with mapi id 15.20.3589.021; Thu, 19 Nov 2020 13:16:50 +0000 Received: from kvm.sw.ru (185.215.60.89) by AM0PR07CA0031.eurprd07.prod.outlook.com (2603:10a6:208:ac::44) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.15 via Frontend Transport; Thu, 19 Nov 2020 13:16:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CIQ4VkRP92YVuVgs7Jyb4j+50ABwE48jCIc51NC+VX6dswC4x00TkuPcMpK3AuaENqYGTq+k26qRN+y8bNVkRj4txDJ3g/i34JErxSPiZXDh9bQlE+iQcuswnpyaejc32waPSuSjIGtxM/o9ITCKXuIiS037uL8jUoyGi/bL07dzPX+vT6thtpvShQHA5SH3Cx0o2Fg8PmScvSQdSMEZo7UezqqDx98fPOLWNplLAvi/USRnW0d32Pj9/5+hFYh9svYrb7w+ZzJs1oO12KaQIwBth16rI9hxYw6yKmcnQVAIrpv02TqKiTqAe9A4LaBqjdO7e1CmEyFpAtYRHaq7EQ== 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=rm9hN2aY3MJGb6J22+twsKPzZuq0up0R6e58gGLCyvs=; b=Zfd38s9YZr9nvLTMw7wt7f3NKFkLZ+FKWcf2et6Vk6Y+E9+SQ+3EUu5/i0RSrtZ/yyZYDgthMZ+772OfXCHaLOEQBllveMp3vxqIB40ioylh59GnIhPT9xW7BRQQn+naXDqVV00EonIGtUwUsrwsjxqOCKPMcicFOr1fvGDywwnn+rMlUuuTSZYKUJ6+8IL6q7vo8JStbChLYZ3atWnKzEXf5Os3efLel9Zczv9syiTyTfRULG/+cUuyivmCfslGauhv1kgntOMKlfjWZQVLYN7e/b5f/Cdru9B+RSGHhNcDH+2Dxzq6leR4D7Di+PzEXIdrLC48GgdZtEg/gHOPPw== 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=rm9hN2aY3MJGb6J22+twsKPzZuq0up0R6e58gGLCyvs=; b=GtdwRMVUXW/uFdv8D/korzvUHcQgpCFAcFXm+izWNSVr7+pZFR8L8ijOoUFe7LWNedue2j9uMAuX3UYkE+iaGMv+atmjjUPRBoZsR14tY+2+9LUCNY1iz6K8m098oT/xEs/n+g9IQnIG8DPWyCt+MFloto5RZmcDT3VDJ9Ak464= 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, crosa@redhat.com, ehabkost@redhat.com, vsementsov@virtuozzo.com, eblake@redhat.com, jsnow@redhat.com, armbru@redhat.com, mreitz@redhat.com, kwolf@redhat.com, den@openvz.org, andrey.shinkevich@virtuozzo.com Subject: [PATCH 1/4] block: bdrv_get_xdbg_block_graph() drop unused errp argument Date: Thu, 19 Nov 2020 16:16:31 +0300 Message-Id: <20201119131634.14009-2-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20201119131634.14009-1-vsementsov@virtuozzo.com> References: <20201119131634.14009-1-vsementsov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-Originating-IP: [185.215.60.89] X-ClientProxiedBy: AM0PR07CA0031.eurprd07.prod.outlook.com (2603:10a6:208:ac::44) 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: bd0c3014-1f71-4a29-1ab0-08d88c8d5fcd X-MS-TrafficTypeDiagnostic: AM5PR0801MB1844: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:229; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SAv73NlUZ1C7eat0VDzhU+k2V5kv2hQ4ohq6eP4X4lFfk7YeerdW8zsGIauVYY9Ns9f022f2FB235zEeqy3MeMLD5azK/fQqzGtj61fugKuk1QlcQ5q/HxaivKPap27UCneT0wzmqDdCzQrVzelmgQtislCK+2y9vW1opaTRv7h7NCQmqBmM/jwgeQOUNzVKAmF6iNGcE/mRgOGvCsT6Q74PjLp4ROQzpv6L2kolTTB1N4x50cp73WazXuiYayxFSz0V05BCddu5Ne9LuWf1R3t1O3VYsWicjk61Y1wnrqnbRf3gvxLZB0XKkwzXaN7MNWlALdiHCQ4up8QVYR+OMQ== 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)(396003)(39840400004)(136003)(366004)(376002)(346002)(6486002)(36756003)(186003)(16526019)(316002)(2616005)(26005)(4326008)(107886003)(478600001)(6512007)(83380400001)(6916009)(8676002)(6506007)(52116002)(6666004)(2906002)(8936002)(956004)(66946007)(1076003)(66476007)(86362001)(66556008)(5660300002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: ne/X1cle0D4IAY1Mb6WkJFvH99tQGuJhQw+Z+N2O3e5JwgqVNF1eVVISuqhwqyGpSDzDsRfNlg7/zEBVCnwOBHf5f8nolAUdv0jQ6Vg4qjdeVFF9V+cVKYJazCv9JSBofM8zAgGgwJ6TPRA5dGehcemS2Ze24sbekELEchJVAjk48UahSc21jDkAh5vmG74xnpbvg2aPyk06oSy9tEU77yfIGjv0xGOQqwI/ov4Sw4Uf4ie3QJHxZouM4SjPyxlwbULtc35C5WfM39+8tc+YiWFlW8DL1UrsqgMXtdL9xcOPH73NKZx3rjsQpXIPi9PQ25d7cOwgi39dKGcDmcOrLcMcKP1qf4aGYeNwEj3/wbnN3neceAZn+zGkqgGUT816XTZvKnXYWW7VX0u35p0u8TfzWIrR0kK426BnDISKOUf9O+HL6kkLk/rJnlMUNGeUusKfJAg6Ajk8RpE4vxXio9ktiB5/5ck9q76J6Dc/J2VmM5r79q5WacPu2kwFI3Qwlh5tvg7mj/Ww3/ChBkdDK/Z5HRexrzbQv/3f5TJRBp0WSjRL0yPFfv7QmP/dFeMrU1aop2BjDRbuJ9R/Tq9FLEhRY434hCpZW476+wXD3EeVE8XckrbBo1dJllY7dkmDGhXuodspqIfwbI7rX8WyeA== X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: bd0c3014-1f71-4a29-1ab0-08d88c8d5fcd X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Nov 2020 13:16:50.0351 (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: Rc7fsgOguIanQTgTpH/GcZktVLXqy1Q69MKM/aCpGnxj6d0015xE37InUO3WG/OVbO7V2LlhlHbn8HjaTz2PfAjpTiMMEngsoulhNuSuum0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1844 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.122; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-VI1-obe.outbound.protection.outlook.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/19 08:17:00 X-ACL-Warn: Detected OS = Windows NT kernel [generic] [fuzzy] 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+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 --- include/block/block.h | 2 +- block.c | 2 +- blockdev.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/block/block.h b/include/block/block.h index c9d7c58765..d17151abd7 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -524,7 +524,7 @@ void bdrv_eject(BlockDriverState *bs, bool eject_flag); const char *bdrv_get_format_name(BlockDriverState *bs); BlockDriverState *bdrv_find_node(const char *node_name); BlockDeviceInfoList *bdrv_named_nodes_list(bool flat, Error **errp); -XDbgBlockGraph *bdrv_get_xdbg_block_graph(Error **errp); +XDbgBlockGraph *bdrv_get_xdbg_block_graph(void); BlockDriverState *bdrv_lookup_bs(const char *device, const char *node_name, Error **errp); diff --git a/block.c b/block.c index f1cedac362..eca16a5e29 100644 --- a/block.c +++ b/block.c @@ -5338,7 +5338,7 @@ static void xdbg_graph_add_edge(XDbgBlockGraphConstru= ctor *gr, void *parent, } =20 =20 -XDbgBlockGraph *bdrv_get_xdbg_block_graph(Error **errp) +XDbgBlockGraph *bdrv_get_xdbg_block_graph(void) { BlockBackend *blk; BlockJob *job; diff --git a/blockdev.c b/blockdev.c index fe6fb5dc1d..6f103e5ce7 100644 --- a/blockdev.c +++ b/blockdev.c @@ -2911,7 +2911,7 @@ BlockDeviceInfoList *qmp_query_named_block_nodes(bool= has_flat, =20 XDbgBlockGraph *qmp_x_debug_query_block_graph(Error **errp) { - return bdrv_get_xdbg_block_graph(errp); + return bdrv_get_xdbg_block_graph(); } =20 void qmp_blockdev_backup(BlockdevBackup *backup, Error **errp) --=20 2.21.3 From nobody Thu Apr 25 15:26:28 2024 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=1605791951; cv=pass; d=zohomail.com; s=zohoarc; b=kz8Jdti/07tnV+yk2TUiSWDRHc2RU5F8xH8ax2zegEEPECZnwqm5aoDqdB66TCUgtMSj0lHbFfWQL6E22ccTXNoggoi/YIgCYBYLpUi2qnskiKMrwFD+jTt4LUo+MSxhibygh5vassRQaOYHNAjKCxjToiOulNz5lXbU1X6s1TI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605791951; 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=W0vRQ0TExNIEsENGqdmA0i+Xf951sMXTLkpjL1WLdSE=; b=AMDLN/kCmMJzZ2gTUXezvYbxXbh+DGTGI8MIAhZBQBrI8PFUfdU1QzXSbO4bM3136srlKCzRyafX+CogegeDeTD2ljLTaIba+LqMp2pBSyNbNUccPp2EFkFtCLZIEd14QRkHRoevvvOju75vymtwQLZx+m4Vg9QNAqKW6Lh225U= 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 1605791951425376.8729746741476; Thu, 19 Nov 2020 05:19:11 -0800 (PST) Received: from localhost ([::1]:50578 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kfjqA-0008Dw-9n for importer@patchew.org; Thu, 19 Nov 2020 08:19:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59280) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kfjoB-0006MU-Nd; Thu, 19 Nov 2020 08:17:07 -0500 Received: from mail-eopbgr80122.outbound.protection.outlook.com ([40.107.8.122]:25503 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 1kfjoA-00062k-0b; Thu, 19 Nov 2020 08:17:07 -0500 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM5PR0801MB1844.eurprd08.prod.outlook.com (2603:10a6:203:39::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.22; Thu, 19 Nov 2020 13:16:53 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::fd02:1330:f620:1243]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::fd02:1330:f620:1243%9]) with mapi id 15.20.3589.021; Thu, 19 Nov 2020 13:16:53 +0000 Received: from kvm.sw.ru (185.215.60.89) by AM0PR07CA0031.eurprd07.prod.outlook.com (2603:10a6:208:ac::44) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.15 via Frontend Transport; Thu, 19 Nov 2020 13:16:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IGasQk4wL5bg8+FJxU4oaVUoiDRUK5l5F4AHmLQhAHdCxBF09liIk1oyAflrRbOgiDrPdglM1G3iQPM9zfmhgqtiRZ5MICie5XPI/hfhvaeF8NSIzSS1huBmD3QDMQ7bUhx0Ibq8EaoOrVgO373Yqd9Pkz/k2ktGEDYPonbOROxouufxsVP7LJ6ZMuBAzHgj1ahOeoyRUcG9ex7WCVVna2ll+y/RxY3CFAjcFFR8mWcMD/so/uWBei1WAB9ARH7gcj+p9FBcon05DMpUIqjZOd8uq0zRKhn8EPi/jRT+8cLMGdKTg5cnGtwuUUfHkiaim+Lj6fiKA3dKrsa2sAB8pA== 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=W0vRQ0TExNIEsENGqdmA0i+Xf951sMXTLkpjL1WLdSE=; b=lf8RB3QQBdiFLat9W1SaujTC94GY9fv3FigZhlJHyhdySK5+fwj3lfXnG4an7geJdlJzly7RV8ckLi0kWf9RzM3f39Q5q6S+8b2JvkeMGZ3AzCS97v4+Oybj7igXrItbaFa+z6IsuQxffr+3rsS1MJq5iLUDLL0ARuivi1wMyEO97Uk5VkOywcOrU+ai3PzPOhMibB9igoHR7/DESCXlEq6Sc91COxMyc6//8clGXAcG8FyGt+NM9xm62Y4oy6gNJRaIU1HLEM4UcWzwrDPRcflS5AUmN9M+wJcyIV1zGzKvYSwed7kauj+h9FcyfgLv0tbRjkaogEjpe1GXwxVcXA== 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=W0vRQ0TExNIEsENGqdmA0i+Xf951sMXTLkpjL1WLdSE=; b=no59NQLQVF39Wj0K//oa91R4EVI78ntA6cCnZfegTGDLmqGMCNfZrq9JmL+cLp7rM8zDqkfMm7pBgte3yuSwOKOtRNLGn8KzqF86P8GsClteGRX6n2fFCTf1JnkGRlMs7GsyB3e096P+JmLGTa8A4bMohP3Hh/pK+xf9et8NsGg= 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, crosa@redhat.com, ehabkost@redhat.com, vsementsov@virtuozzo.com, eblake@redhat.com, jsnow@redhat.com, armbru@redhat.com, mreitz@redhat.com, kwolf@redhat.com, den@openvz.org, andrey.shinkevich@virtuozzo.com Subject: [PATCH 2/4] blockjob: add block_jobs_info_list() Date: Thu, 19 Nov 2020 16:16:32 +0300 Message-Id: <20201119131634.14009-3-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20201119131634.14009-1-vsementsov@virtuozzo.com> References: <20201119131634.14009-1-vsementsov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-Originating-IP: [185.215.60.89] X-ClientProxiedBy: AM0PR07CA0031.eurprd07.prod.outlook.com (2603:10a6:208:ac::44) 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: 562c8365-5433-4ac1-2311-08d88c8d6062 X-MS-TrafficTypeDiagnostic: AM5PR0801MB1844: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:901; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dl7Tmo/eMeASKLIE5I7SUuL75Cn7KwhdQcIdvMofherSm4ZcCg/VYE+PiTMTIp30iOh1zhlOpf4K67EzVfHnZ8KHnsVhubDrhQMGgtBJ+s9mcleH5UfWaCCeNwh4T8OodcTdSMt4bYPTRMvdIgnt97scYOxx4d79d0aBmoJErAAWc0hGjFXlTGBDYP35d0TCSDuc0hnOw0+cGPgwaBsLYiL0MUB6TmZ/yntkzrN+Sc5Zpu6cNrWgB732UrEIt0BcPbxEdb9/Ri0vaAxXVPzZCWfqyAAi+PR78e10UFr5pfvqh2hrfWRs7K2G2RL22fuenkEtbknSPK6cEix4B4mZCA== 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)(396003)(39840400004)(136003)(366004)(376002)(346002)(6486002)(36756003)(186003)(16526019)(316002)(2616005)(26005)(4326008)(107886003)(478600001)(6512007)(83380400001)(6916009)(8676002)(6506007)(52116002)(6666004)(2906002)(8936002)(956004)(66946007)(1076003)(66476007)(86362001)(66556008)(5660300002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 8Q3PDLFrjbcUf0po0o9kntmZBMgTx5KMqVPVDSBPQA//eqovPJvNcUiGdDNwSYes3Sic8bWoDz3xR00vL6PVAffNQ88+9ritN8nr8QkB3A7/awgMrjVrTWyZWE0crPpnIoTtk+bgm9O8qZWMqYzn3zYBKa0Er7AlMGTK2oDSMES/C+k3FWj0DhOIkZ7pwU+5zM0RgxyXKm446uEfPLtFftrAyrOj3BxxDmd7KWYglVGOiS2Id88nK90daVKzCe705VdKha8MPOwoNEZKaIjiwwQP+tnC9DIVe8OAC1gSdvWSIzTO73WhVjP0hVnDRDNFjonz/wKiPdoLYNsiW//uSSrMN2EH59WrXDQnvHkOOBOF6r5QIA9mC6meZ52MtMQarEJpO735lSHsYwt6Kg1aJ2rzEQCdhxRT9RTvBvGXRf4+FlkSUQm7L8/X1zSOFnngYh9EMeSWf4j+cqz6jCwfTCm9RtrNM8RemY94WwblQvQUm2ywKGOhwu885iHnjOYnb6lBScIFkDMan7a77HpFBC/isrR2Cbn2Nf+O0by43Vr1abyVA0tNiBSJKn1YjNmIrAHyHvGqdtKvujtoMRfEuq/5NKpIPV4hl5w2nMJDHQLlyzF4noQ1PMwH1Awl1AHVNZc/PGxGXiLsNuy9hVMWEA== X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 562c8365-5433-4ac1-2311-08d88c8d6062 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Nov 2020 13:16:53.0688 (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: 6QcFPOXe2kPd4Sc92rP09slsEEcIrUqH0fSYHbtAoXihmXtlA5VIOpzglkHniOdNBGvSQfN3OB4ePzDu4x6nAfU79d7k8iss3CC+qKFNIxw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1844 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.122; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-VI1-obe.outbound.protection.outlook.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/19 08:17:00 X-ACL-Warn: Detected OS = Windows NT kernel [generic] [fuzzy] 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) Content-Type: text/plain; charset="utf-8" Move qmp_query_block_jobs() functionality to blockjob.c. We'll need it in block.c which is not always compiled together with blockdev.c Signed-off-by: Vladimir Sementsov-Ogievskiy --- include/block/blockjob.h | 7 +++++++ blockdev.c | 26 +------------------------- blockjob.c | 29 +++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 25 deletions(-) diff --git a/include/block/blockjob.h b/include/block/blockjob.h index 35faa3aa26..2e66d529e2 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); =20 +/** + * block_jobs_info_list: + * + * Returns the list of jobs info. + */ +BlockJobInfoList *block_jobs_info_list(Error **errp); + #endif diff --git a/blockdev.c b/blockdev.c index 6f103e5ce7..b5f11c524b 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3670,31 +3670,7 @@ void qmp_x_blockdev_change(const char *parent, bool = has_child, =20 BlockJobInfoList *qmp_query_block_jobs(Error **errp) { - BlockJobInfoList *head =3D NULL, **p_next =3D &head; - BlockJob *job; - - for (job =3D block_job_next(NULL); job; job =3D block_job_next(job)) { - BlockJobInfoList *elem; - AioContext *aio_context; - - if (block_job_is_internal(job)) { - continue; - } - elem =3D g_new0(BlockJobInfoList, 1); - aio_context =3D blk_get_aio_context(job->blk); - aio_context_acquire(aio_context); - elem->value =3D block_job_query(job, errp); - aio_context_release(aio_context); - if (!elem->value) { - g_free(elem); - qapi_free_BlockJobInfoList(head); - return NULL; - } - *p_next =3D elem; - p_next =3D &elem->next; - } - - return head; + return block_jobs_info_list(errp); } =20 void qmp_x_blockdev_set_iothread(const char *node_name, StrOrNull *iothrea= d, diff --git a/blockjob.c b/blockjob.c index 98ac8af982..9d0bed01c2 100644 --- a/blockjob.c +++ b/blockjob.c @@ -515,3 +515,32 @@ BlockErrorAction block_job_error_action(BlockJob *job,= BlockdevOnError on_err, } return action; } + +BlockJobInfoList *block_jobs_info_list(Error **errp) +{ + BlockJobInfoList *head =3D NULL, **p_next =3D &head; + BlockJob *job; + + for (job =3D block_job_next(NULL); job; job =3D block_job_next(job)) { + BlockJobInfoList *elem; + AioContext *aio_context; + + if (block_job_is_internal(job)) { + continue; + } + elem =3D g_new0(BlockJobInfoList, 1); + aio_context =3D blk_get_aio_context(job->blk); + aio_context_acquire(aio_context); + elem->value =3D block_job_query(job, errp); + aio_context_release(aio_context); + if (!elem->value) { + g_free(elem); + qapi_free_BlockJobInfoList(head); + return NULL; + } + *p_next =3D elem; + p_next =3D &elem->next; + } + + return head; +} --=20 2.21.3 From nobody Thu Apr 25 15:26:28 2024 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=1605792081; cv=pass; d=zohomail.com; s=zohoarc; b=nbwugwjNqeaAVmuVptHBAbEZNPupQmoVCxAfHhy52ZRh/KDYrtKO7cxON4TmySAuc+A9nl8ZK2+Ubvi8lku9rL1R7O5DfWP/zXq1xd9ZWZi3WJcGV0dXAJKEIIiIItMcUwb4xC8L9BKLqZy5+ZM9p3mNYazmxGktRgLwnBBLxrg= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605792081; 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=JyHmjzYM881334lgbH5kWx0S6pC1N/n7Jkm9g0gHqyQ=; b=BDfLa6pGuaIFyoziDzr1RDhuDvfyOVAhNd2LsIb5Tw+/7BK2tD6hgBykq2GHkLSK9cxbNcw1mrZ63Nmu9M7A0zubbI06o4sp48LA5bTY4MifGKzeP1cs3YVbFQ7b+AK+lpXGpOJHBK73TNMPDOmrsfcivNovwlNtK2IQXEpK+Tw= 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 1605792081378153.19689162630812; Thu, 19 Nov 2020 05:21:21 -0800 (PST) Received: from localhost ([::1]:56666 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kfjsG-0002NI-7q for importer@patchew.org; Thu, 19 Nov 2020 08:21:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59304) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kfjoG-0006Oc-30; Thu, 19 Nov 2020 08:17:12 -0500 Received: from mail-eopbgr80122.outbound.protection.outlook.com ([40.107.8.122]:25503 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 1kfjoC-00062k-E7; Thu, 19 Nov 2020 08:17:11 -0500 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM5PR0801MB1844.eurprd08.prod.outlook.com (2603:10a6:203:39::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.22; Thu, 19 Nov 2020 13:16:54 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::fd02:1330:f620:1243]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::fd02:1330:f620:1243%9]) with mapi id 15.20.3589.021; Thu, 19 Nov 2020 13:16:54 +0000 Received: from kvm.sw.ru (185.215.60.89) by AM0PR07CA0031.eurprd07.prod.outlook.com (2603:10a6:208:ac::44) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.15 via Frontend Transport; Thu, 19 Nov 2020 13:16:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G+iJVyfWb/6dS8/ZU7OHhuXluQZudZ9u52Hbj9TS11vvzd13X1fmDMVNqs0bfPlc4AlX+05AFzFJVIsoYjiOndHn6GEgEfvKA5wW9U7stDjniUW6PAAib+um8hgJXPQfOklkLxIqng7iG+kOQCf4XiOMmvZNMZttyXmiVFJXt/SaZb3Yo4p3ubBEbEXBOYmiATIfMb+Oxx5Jv75dkM2dGco+SQlcn36mOeKJ7hnJOIZniN3zQfXL7i9za59n9F4CB2rw+bqScVQAMrsOEnzg1QWItrzttDOI76lnPiP/MSEWwgcnb4cyXqTo6P2foD3/kfUWBPmQDpmtsvB7jXFuDQ== 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=JyHmjzYM881334lgbH5kWx0S6pC1N/n7Jkm9g0gHqyQ=; b=Yy6TNDYMwxTPYzZ3C1k9R8wSOVEz+Wt9oCr/XQfGBH0b2FVQMMNZeXbD3F0ph5ntdxq61r4alTwnpCLJkY94hGXcnax7HdEe+RiSa6bxIZhdAz0l3Kdus0SGzTmeKq8A7Qyu4W8j/cca8UisFS0e94c61jNgkXEOk7vg+99L0eMSCK344EHOwKIoGbB0kjvJ6hQs3jwlqaqZ36MEnt02rGwyP4KVGBDLJuQgo2MuXlZu7Q52TyoFf1yhR3MbFVfCie+BChiiolwjPLie5lxkgt+Bw6GIbR9JVl2Ty/l68RevvVNTtkE2YZMwWhmQjCFU/Yq+M35wkbc5/ZXFa+1/+Q== 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=JyHmjzYM881334lgbH5kWx0S6pC1N/n7Jkm9g0gHqyQ=; b=UebP42XxKcx3bLnd6yMD+7W5tZleLxQhcYw4SmoYQJr4ejPMx2xJKdOorz0W7uvZFNqn6A45+1tfcB5D46rM263IJdmmPXwoO6UIXmw9wL8r8KMJW6pjRSZ1XaTF8NMYh4gyASNabdyvBDpbRDc0BGMSTpgWZalKGwC2b8Y1E6w= 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, crosa@redhat.com, ehabkost@redhat.com, vsementsov@virtuozzo.com, eblake@redhat.com, jsnow@redhat.com, armbru@redhat.com, mreitz@redhat.com, kwolf@redhat.com, den@openvz.org, andrey.shinkevich@virtuozzo.com Subject: [PATCH 3/4] block: add dbg_dump_block_layer() Date: Thu, 19 Nov 2020 16:16:33 +0300 Message-Id: <20201119131634.14009-4-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20201119131634.14009-1-vsementsov@virtuozzo.com> References: <20201119131634.14009-1-vsementsov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-Originating-IP: [185.215.60.89] X-ClientProxiedBy: AM0PR07CA0031.eurprd07.prod.outlook.com (2603:10a6:208:ac::44) 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: 3125164a-c84a-4f28-8e49-08d88c8d623e X-MS-TrafficTypeDiagnostic: AM5PR0801MB1844: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:569; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vh/W3g30Q2zRZOaXk+Th8+OXMd/alHXI0l2k+iKTgSYDpxVshQpLgVI8EENrsYjsqM+VRRoerxxVnQmlk32qlMHVv1Nu0ONkNVQYwnOXEz5ldJG63vdMW7NxeV/E+u9hNpL8lyx/0/23nKS4IXIbtYBTZuPF4eDvZR45z2C7QdZqY752eVR0kvU0nLqfI+PnN/888N1ZrgRdHzBu2QUEK+v93FZsBX/SVlMoCjVnf+ZDTJp4999j18zHbauMG0al03JGdEzaCwthRxCtrjRYumoXcZ+afZYUmJrwbDRUaHw2FNkN/fvxTo03kg6TW5OZy2f3Fn7+W3IesFQ2GA8FCa8VSZ5+TgmUuzBFJLHAl3Wws+4FVwSfLIlkTQ6dJ/+o 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)(396003)(39840400004)(136003)(366004)(376002)(346002)(6486002)(36756003)(186003)(16526019)(316002)(2616005)(26005)(4326008)(107886003)(478600001)(6512007)(83380400001)(6916009)(8676002)(6506007)(52116002)(6666004)(2906002)(8936002)(956004)(66946007)(1076003)(66476007)(86362001)(66556008)(5660300002)(245554002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 4k/XIoJ97qguzQEnF7e8SNz0vwt+r7BLQBUBM7d+g0CzurlEP20vFZdO2wb2nJwSZlB3KdONRqJYInXCuteP2iuum1DYhPlzYd7T7DOcgLbQEQhsc89uKZRPNqyhk676civS/8l1EblEQLfduY570JIpW7lptBTW6Q2KBAs6WVfZAxb1fN8nWV944zr2Y3qv0m4ZGKOOA1dRuEYms9yI+l9dLPgYhWi9LV/XUjfceb8RgMVDW8V51WLgcGS+f35nSmMxto400EAw75R1nkctrG+OcOqO4E3CxORP1MBI6t9HfzJ28itzCxv98qLy2NXwJklefE0wJoww3yz2YD5DOVuT8RCX0zyr1N8Z1p3BUAF6xGFv6eLV8ZaHpCEQpeRRkdEg/pjTKi1Hn1TcyqqIu/sfn2yLj/Rhpr9tvMgi69sbeESxR/seLzTsD6QoOGpDjTKF57TFka6KVd2lZ/iknAKHiOexatEwWZH/07jbtu/dmgvtfz5HGMXHIxVWp9X8w/EAvVehU+cL8my9Qtfm2RRqom1CzgiE79QLA5qQ3kj53pcL4OTHkfqjyESHp1fT4/v08pt7oktGmygv5RL8NcHsXSEQZDDU0D1Y5zoXYY59ye4XfTg68OB4NguFJ4NgxBKidnQ0VkSL3hgwuJTOZw== X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3125164a-c84a-4f28-8e49-08d88c8d623e X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Nov 2020 13:16:54.1211 (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: 5/l2munSrcbrewHQWDT1oSqaGOorr9xSR8IO5UnDME8Z3vGO88sgniAuLslODQEbKBSdfh6iGPZXst0v/krt2yU0JRmwF/4KJlULkuyxNck= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1844 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.122; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-VI1-obe.outbound.protection.outlook.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/19 08:17:00 X-ACL-Warn: Detected OS = Windows NT kernel [generic] [fuzzy] 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) Content-Type: text/plain; charset="utf-8" Add function for debugging: we already have x-debug-query-block-graph qmp command and scripts/render_block_graph.py which can dump block-layer graph for running vm using qmp command. But when debug block layer code, its often needed to dump some intermediate state during some operation, so separate qmp command doesn't help. So, let's introduce a function which can dump needed information into json file. In next commit we'll update scripts/render_block_graph.py so that it will be able to parse json files. For new function to not crash if we have mirror_top filter node not yet bdrv_append()ed (to debug why it can't be appended), make bdrv_get_allocated_file_size() and bdrv_refresh_filename() not crash on filters without a child. Signed-off-by: Vladimir Sementsov-Ogievskiy --- qapi/block-core.json | 13 +++++++++++ include/block/block.h | 3 +++ block.c | 51 ++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 66 insertions(+), 1 deletion(-) diff --git a/qapi/block-core.json b/qapi/block-core.json index 04ad80bc1e..3f8e5a3822 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -1908,6 +1908,19 @@ ## { 'command': 'x-debug-query-block-graph', 'returns': 'XDbgBlockGraph' } =20 +## +# @XDbgBlockLayerDump: +# +# Unite query-named-block-nodes, query-block-jobs and +# x-debug-query-block-graph results into one structure for block_layer_dum= p() +# function. +# +# Since: 5.3 +## +{ 'struct': 'XDbgBlockLayerDump', + 'data': { 'nodes': ['BlockDeviceInfo'], 'jobs': ['BlockJobInfo'], + 'graph': 'XDbgBlockGraph' } } + ## # @drive-mirror: # diff --git a/include/block/block.h b/include/block/block.h index d17151abd7..6a75bbc84c 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -836,4 +836,7 @@ int coroutine_fn bdrv_co_copy_range(BdrvChild *src, uin= t64_t src_offset, BdrvChild *dst, uint64_t dst_offset, uint64_t bytes, BdrvRequestFlags read_= flags, BdrvRequestFlags write_flags); + +int dbg_dump_block_layer(const char *filename, Error **errp); + #endif diff --git a/block.c b/block.c index eca16a5e29..82f847a88e 100644 --- a/block.c +++ b/block.c @@ -5035,7 +5035,8 @@ int64_t bdrv_get_allocated_file_size(BlockDriverState= *bs) return -ENOTSUP; } else if (drv->is_filter) { /* Filter drivers default to the size of their filtered child */ - return bdrv_get_allocated_file_size(bdrv_filter_bs(bs)); + return bdrv_filter_child(bs) ? + bdrv_get_allocated_file_size(bdrv_filter_bs(bs)) : -ENOMEDIUM; } else { /* Other drivers default to summing their children's sizes */ return bdrv_sum_allocated_file_size(bs); @@ -5382,6 +5383,51 @@ XDbgBlockGraph *bdrv_get_xdbg_block_graph(void) return xdbg_graph_finalize(gr); } =20 +int dbg_dump_block_layer(const char *filename, Error **errp) +{ + ERRP_GUARD(); + Visitor *v; + g_autoptr(XDbgBlockLayerDump) dump =3D g_new0(XDbgBlockLayerDump, 1); + QObject *obj =3D NULL; + QString *json; + FILE *f; + + dump->nodes =3D bdrv_named_nodes_list(false, errp); + if (*errp) { + return -EINVAL; + } + dump->jobs =3D block_jobs_info_list(errp); + if (*errp) { + return -EINVAL; + } + dump->graph =3D bdrv_get_xdbg_block_graph(); + + v =3D qobject_output_visitor_new(&obj); + if (visit_type_XDbgBlockLayerDump(v, "unused", &dump, errp)) { + visit_complete(v, &obj); + } + visit_free(v); + if (*errp) { + return -EINVAL; + } + + json =3D qobject_to_json_pretty(obj); + qobject_unref(obj); + + f =3D fopen(filename, "w"); + if (!f) { + error_setg_errno(errp, errno, "Can't open file '%s'", filename); + qobject_unref(json); + return -EINVAL; + } + + fputs(qstring_get_str(json), f); + fclose(f); + qobject_unref(json); + + return 0; +} + BlockDriverState *bdrv_lookup_bs(const char *device, const char *node_name, Error **errp) @@ -6885,6 +6931,9 @@ void bdrv_refresh_filename(BlockDriverState *bs) if (bs->implicit) { /* For implicit nodes, just copy everything from the single child = */ child =3D QLIST_FIRST(&bs->children); + if (!child) { + return; + } assert(QLIST_NEXT(child, next) =3D=3D NULL); =20 pstrcpy(bs->exact_filename, sizeof(bs->exact_filename), --=20 2.21.3 From nobody Thu Apr 25 15:26:28 2024 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=1605792230; cv=pass; d=zohomail.com; s=zohoarc; b=QLVb9oFglecsSu8vTAQKBmQM7cCEuNaBEbIONypsrxOH7hJkF/cNNZEnHanK2oyjczQO1+f45a6KLJP0LEBEJTWNeK4PWaL8IekkG1vhsrEVR5liXc1NBM9M0Pu3D+AfQJJh1QjM+QqCeQUqhCoNoz55L3s7AAEUadfNt0TumGc= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605792230; 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=oDBSk0zzAhLEGOuA9Nb0dy+XkbysAbmnwC1Jc5KNz9s=; b=YoSvlwra9AL7P1jYuzSEskal+z3FjzTVAzeSQl6vB7WyNvLk5byBgal6l+CDWV64waLOcb3rHuG4l16Zddqane2io4TwvMaEpohVg4tXzRAJvHDp9ItM2EdjL5eQJA0bOzdbtBWvwnDGh+4r3rPigvAmUZDvkY/nSNkPOGWpILE= 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 1605792230571166.187636000535; Thu, 19 Nov 2020 05:23:50 -0800 (PST) Received: from localhost ([::1]:59410 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kfjue-0003af-UV for importer@patchew.org; Thu, 19 Nov 2020 08:23:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59318) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kfjoI-0006SD-OK; Thu, 19 Nov 2020 08:17:14 -0500 Received: from mail-eopbgr80122.outbound.protection.outlook.com ([40.107.8.122]:25503 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 1kfjoG-00062k-QL; Thu, 19 Nov 2020 08:17:14 -0500 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM5PR0801MB1844.eurprd08.prod.outlook.com (2603:10a6:203:39::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.22; Thu, 19 Nov 2020 13:16:55 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::fd02:1330:f620:1243]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::fd02:1330:f620:1243%9]) with mapi id 15.20.3589.021; Thu, 19 Nov 2020 13:16:55 +0000 Received: from kvm.sw.ru (185.215.60.89) by AM0PR07CA0031.eurprd07.prod.outlook.com (2603:10a6:208:ac::44) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.15 via Frontend Transport; Thu, 19 Nov 2020 13:16:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nNttD82PfMwUN04OPiFokKef7+4iJOa4Tmjqy+0V1HZqjHSK6VP2ky0ozomaZTwb08nBQj15OCf9j43DK896jVD+7qHg4FtiSZKZW6GnkmL59+OquuoTNup5BIdLyPLFPPqcJ2XvFbt6Yl7eciGyYT0IEnjKQcT7el7l8RM8mieR8FWnRr7DiyFk2XVrYWc+V+M3USJo5lQkPbNPcpNM4oL7mk/S3fBRpBtOOM2x3i7VnIA3pXSZUIwrAPl2U2PQa0LPuiDeDVYRhCaZWN+9aD/TNav/L5536eCkh2iD5Bzmlp/IzpZfFG5SURdyua0u+cNUkmi7ZvL1n2k/TAiKpg== 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=oDBSk0zzAhLEGOuA9Nb0dy+XkbysAbmnwC1Jc5KNz9s=; b=bTO9U33gWjgovlHJOkfAejo0SPjeaIbLrPO8a7EPnfP3H8HChJsDytUJG/hnnZP0JxXGCf5M1Dfz80ihjlV/r501k9PVLVmqJm1e4EO76itNdeSx0NO1RltR9zd2CRkBtJQ8A1nRDKl/x0o7WrwM2Y5ywkVAyZEmF0JSXvwO8oCG/zduv/bLGvBuzLCWhytVFXKY0OPBZjNzndLBozxL0NJfDvVe975ClMMNwlMvZDFwBzcXkFjvIADdt9ZvvsLhoiQ6UcPsfqpa2ubsS3R30uDUcpMsg2BRCAmSVrhjR0fH4RacEKq646keq2tre2SY8IPhjk1xXcD5pjkiWJ/0pw== 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=oDBSk0zzAhLEGOuA9Nb0dy+XkbysAbmnwC1Jc5KNz9s=; b=inbf7pgUDXpvNZPt0RIHv006LSjRn0zwBOBCH5QtfrmJJ2roblK5sB8Qk7wHUeb4wH3cvsmP8sZbxZ44JlPVfeKTqrrf89ZUcrf8VzPJLpmm9Y+jlfJ/rB3GTUS7P5iQ2uBJHEqkMX3VDLmwr6mVb0TBjiyPvIR99ZdBQkCHIis= 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, crosa@redhat.com, ehabkost@redhat.com, vsementsov@virtuozzo.com, eblake@redhat.com, jsnow@redhat.com, armbru@redhat.com, mreitz@redhat.com, kwolf@redhat.com, den@openvz.org, andrey.shinkevich@virtuozzo.com Subject: [PATCH 4/4] scripts/render_block_graph.py: add ability to parse json files Date: Thu, 19 Nov 2020 16:16:34 +0300 Message-Id: <20201119131634.14009-5-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20201119131634.14009-1-vsementsov@virtuozzo.com> References: <20201119131634.14009-1-vsementsov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-Originating-IP: [185.215.60.89] X-ClientProxiedBy: AM0PR07CA0031.eurprd07.prod.outlook.com (2603:10a6:208:ac::44) 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: 03fc241a-7a3e-43fb-2869-08d88c8d62d1 X-MS-TrafficTypeDiagnostic: AM5PR0801MB1844: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5516; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: c9NRts/MrfZSQH5W0RJrcUFoTeDiZQPSnMfFxLNX+pPaNqBJlGtldFDRZfufQQFjTq7OkvhF/Gx314lmsVtfAevw5Q6LrWu5E2YCSQSUmf8f5GnjBdf+JMB0Jz7BGztsR7zqWJHwpVvpoVnileGu9xU7FuoXokRSWVZP/ZuBgS3jS4lsCcKHKjJJidCe6FsIswuF0nrB+FPw2tzyUlhtiiXojDtsxl06b1BtlEwG/PX6eVzsWbOwgLw7KL/l67HXTaJdzEC2k7AnPg0WgoMbWpHRwAmfA8eUkEwom9Tgu0fiJVCkTS58DnndRraZ652tunXWg2gqphLXktlM2qZPf3RdYa01G6bhUlvgcCr2qXch/aRKsDCiGR3Dv7iLQsFy 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)(396003)(39840400004)(136003)(366004)(376002)(346002)(6486002)(36756003)(186003)(16526019)(316002)(2616005)(26005)(4326008)(107886003)(478600001)(6512007)(83380400001)(6916009)(8676002)(6506007)(52116002)(6666004)(2906002)(8936002)(956004)(66946007)(1076003)(66476007)(86362001)(66556008)(5660300002)(2004002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: 4irGq2/jtR6yCCXcYXDsH79aUuzmzIADsHn3PDu0LlPRWb8epZO+/A/A1h5SA2IUWVMK6v40wLf2fGdw5vhazmyufSSliE9MJ/BgouK3lxGfWpiJUwcnoeJRyyBFeae2MDZBx02z6jGRW1p2sKNfsqYZ/hbb/KlCoyHOJnkC4qG/Z1ZkPvWwq/RPIKw7JRn+nwc2R1Zt2HipKW7ZjxLxLzKizBxudc9Ria5ZmcU0yEL4/vlAlpBSe9RiIA2E/zaVhpFzss79ovhNfARaF/rPCJ/uGdj/PxVz8oSyEP50S6qMIPzKXXr+NpWxr07JkqPuWhqkJ7g0gwQqcSdfYihxJKG0/Dkltt2idnwBbCFVDLVbFkvrsxIbaJWno+sz5Tm7ySBzAcIkI+NibMMqqKLpRYu8KHVQUxCzAK+4EyFreEGzn+ywpZzAVXTgIfZ4aSt9BrQKniUOkKxxLOw48w/5BmnsERokBVDp7P6/fg7Z7PLEYnB5o3+rRCmvg+DkIvNI+d0pLkDL2YQ42UBPNKvmESZvGM8tsBwyh+mp0SN8C8BiEHpLdI0AjDKAQ2m/7eBpc7XaOgOjM4+ke486yhuSvDpHwlKwkVrmlBatPzhSQHV2YmqTfrmBXdNk57RUrtDTnFLJ7kDIazCVt8uDtFUdWA== X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 03fc241a-7a3e-43fb-2869-08d88c8d62d1 X-MS-Exchange-CrossTenant-AuthSource: AM7PR08MB5494.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Nov 2020 13:16:55.0829 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: iwisXLKN0O3gQYatwGBV88WOCbeEIAZValiEgU+EuhI8r8OUwlQnsl7EmjWS20+HhUpFtIAqooZ73pBORFmVoehqayYW6+BwoDn9XqbKlaY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1844 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.122; envelope-from=vsementsov@virtuozzo.com; helo=EUR04-VI1-obe.outbound.protection.outlook.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/19 08:17:00 X-ACL-Warn: Detected OS = Windows NT kernel [generic] [fuzzy] 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+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) Content-Type: text/plain; charset="utf-8" Add an option to use json file (generated by dbg_dump_block_layer()) as input. Also, add myself as maintainer of the script. Signed-off-by: Vladimir Sementsov-Ogievskiy --- MAINTAINERS | 5 ++++ scripts/render_block_graph.py | 53 ++++++++++++++++++++++------------- 2 files changed, 39 insertions(+), 19 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 2e018a0c1d..e780c89e0e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2408,6 +2408,11 @@ M: Vladimir Sementsov-Ogievskiy S: Maintained F: scripts/simplebench/ =20 +Block graph visualization +M: Vladimir Sementsov-Ogievskiy +S: Maintained +F: scripts/render_block_graph.py + QAPI M: Markus Armbruster M: Michael Roth diff --git a/scripts/render_block_graph.py b/scripts/render_block_graph.py index da6acf050d..4a11aba697 100755 --- a/scripts/render_block_graph.py +++ b/scripts/render_block_graph.py @@ -2,7 +2,7 @@ # # Render Qemu Block Graph # -# Copyright (c) 2018 Virtuozzo International GmbH. All rights reserved. +# Copyright (c) 2018-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 @@ -40,19 +40,14 @@ def perm(arr): return s =20 =20 -def render_block_graph(qmp, filename, format=3D'png'): +def do_render_block_graph(nodes, jobs, block_graph, filename, format=3D'pn= g'): ''' Render graph in text (dot) representation into "@filename" and representation in @format into "@filename.@format" ''' + bds_nodes =3D {n['node-name']: n for n in nodes} =20 - bds_nodes =3D qmp.command('query-named-block-nodes') - bds_nodes =3D {n['node-name']: n for n in bds_nodes} - - job_nodes =3D qmp.command('query-block-jobs') - job_nodes =3D {n['device']: n for n in job_nodes} - - block_graph =3D qmp.command('x-debug-query-block-graph') + job_nodes =3D {n['device']: n for n in jobs} =20 graph =3D Digraph(comment=3D'Block Nodes Graph') graph.format =3D format @@ -93,6 +88,19 @@ def render_block_graph(qmp, filename, format=3D'png'): graph.render(filename) =20 =20 +def render_block_graph(qmp, filename, format=3D'png'): + ''' + Render graph in text (dot) representation into "@filename" and + representation in @format into "@filename.@format" + ''' + + nodes =3D qmp.command('query-named-block-nodes') + jobs =3D qmp.command('query-block-jobs') + graph =3D qmp.command('x-debug-query-block-graph') + + do_render_block_graph(nodes, jobs, graph, filename, format) + + class LibvirtGuest(): def __init__(self, name): self.name =3D name @@ -111,15 +119,22 @@ class LibvirtGuest(): =20 =20 if __name__ =3D=3D '__main__': - obj =3D sys.argv[1] - out =3D sys.argv[2] - - if os.path.exists(obj): - # assume unix socket - qmp =3D QEMUMonitorProtocol(obj) - qmp.connect() + if sys.argv[1] =3D=3D '--json': + json_file =3D sys.argv[2] + out =3D sys.argv[3] + with open(json_file) as f: + dump =3D json.load(f) + do_render_block_graph(dump['nodes'], dump['jobs'], dump['graph'], = out) else: - # assume libvirt guest name - qmp =3D LibvirtGuest(obj) + obj =3D sys.argv[1] + out =3D sys.argv[2] + + if os.path.exists(obj): + # assume unix socket + qmp =3D QEMUMonitorProtocol(obj) + qmp.connect() + else: + # assume libvirt guest name + qmp =3D LibvirtGuest(obj) =20 - render_block_graph(qmp, out) + render_block_graph(qmp, out) --=20 2.21.3