From patchwork Thu Jan 18 11:51:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Edgar Kaziakhmedov X-Patchwork-Id: 862822 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="Vx8URbHd"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zMj5J4Qh7z9s75 for ; Thu, 18 Jan 2018 22:53:08 +1100 (AEDT) Received: from localhost ([::1]:54162 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ec8kk-0003L9-Ou for incoming@patchwork.ozlabs.org; Thu, 18 Jan 2018 06:53:06 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54759) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ec8k8-0003J5-5t for qemu-devel@nongnu.org; Thu, 18 Jan 2018 06:52:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ec8k7-0008Oy-8N for qemu-devel@nongnu.org; Thu, 18 Jan 2018 06:52:28 -0500 Received: from mail-eopbgr20097.outbound.protection.outlook.com ([40.107.2.97]:45287 helo=EUR02-VE1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ec8k2-0008Hx-Bq; Thu, 18 Jan 2018 06:52:22 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=ndHRlMDXHsdpYXkzLMMzvDIdPDEqyauZiQ1EA1e2tnw=; b=Vx8URbHd0C/50ry0ui2ivO3oE2WpOCcKEMTIhrkCa/MxGmPjpQPRvaBUKkPnDlR5t3Wlk1uQJahJhpuJoOldbnOJ4i1Bmg+xm3MjsVvjr+fwdv20B4fklU0HTmxPRYRg2wFb4iFbngo1Nct0l6FDASdTzDtCIaUUiQpQTadxht0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=edgard.kaziakhmedov@virtuozzo.com; Received: from virtstar.sw.ru (195.214.232.6) by AM5PR0801MB1940.eurprd08.prod.outlook.com (2603:10a6:203:4a::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Thu, 18 Jan 2018 11:52:17 +0000 From: Edgar Kaziakhmedov To: qemu-block@nongnu.org Date: Thu, 18 Jan 2018 14:51:58 +0300 Message-Id: <20180118115158.17219-1-edgar.kaziakhmedov@virtuozzo.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0402CA0041.eurprd04.prod.outlook.com (2603:10a6:7:7c::30) To AM5PR0801MB1940.eurprd08.prod.outlook.com (2603:10a6:203:4a::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2ed8b431-ddf2-49e1-9079-08d55e69ed07 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:AM5PR0801MB1940; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1940; 3:puv6I1+6eO1QjIMDqAdfZWh6lzWwFAgbN+MNy9QNHtO1RiChfiH3yZCjjCGqx31RAbpnVL4FGLjzOqyv43MFh2l+8IVywmJ351FJyyj+r37UE+KS3yFxf2POwVZMvOK0IqfyuSAhluliM2F4uYTyee2lrxXCIry8XbIKooIcKxsANxZiJuUyw1fI1jygP0YU9z9PtzHHi3st0pLPVYnOqCEgjvWiTf9dRQH+RxE2zM4m7+6tu7j++ytJD2aDkrrD; 25:MWWB2lMdiKtL2S5lFf9AOboH1gwmYzdvPRHy86cvQ8IyoCYQ61IsBv5j6OPTZk/qWGYuSwep5y3/tdb00vfpbvwPy96U2k2U3XYepcFU1TlNTBpq9/13mP5/WeSCjzRlpEpnXLGdGsc2CbaUWPmTI/snnxqQnevcpOBhVk4SoSampyijPo+pH0UCWYrjy90J2q+5QNEe20AyZ1xd3aQm/WkZLJXkFcaedTGah8Evu7eTlfu6L7ekNq9VzOhdAiVHtBgZJs6OO1tIF1gelpq9xzVTUz7czBl9XekCnAC/DfhYbdBOGns+N8Hku1ylnVGvHm2rymOdIN7cCv7MaYYCKw==; 31:JDCBAjimaRgy645rKgBK6EmdZzdVt5A4mu7XZAKeYlqRLoz7joWFIyBxiiGs8mPdOYPUFagiBLPu+Jo+vR8SiueRRifTgSofMrS0lA+jaCKkw8mSBsJ18qygPCtsbfXA3LgefSBrrN0r2iIRTIWnDJEQMLQEukAsUwwZP8M1n++/F4wODaOOPawuTU3kRhYD6THBAbDWEHUYhH0aSs+x8f82NEHnO5JWtLyo4p7u5Fk= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1940: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1940; 20:8mtWfWcBv+oUpZ1+ZCYiFekMWQaC4qBCXyH96PB/XsZ9NCJaleE4r0NPJST0XI2iOrOpkxnDuS/gy5iMVHbF+N4oajZKopY5EFnx70wd3iysnvk3DuD7u2gjpjyP6qsC+Utu/yYP0UJf30lN+dM2ipVEo7ktCpvCD28xfofaSGdNJobqgnrBGFq0lvPk4YGYhHqhTkRb+0R/Su9FP1V2N5NsYhGL2b0kaZ0RQHLE8AHici68uoC7YHZOdtnzrb+Eat30jsnAsq0dxPZfKRdNTHxTVTXiGnhzTYYYVpm0EIA9+wQyrKnDURdCJg0rMlHe2wii9oqp31PaKxqW3rJ2BcLt3rjcVuXmu0jFhoW6tehPudJdEDCpjkImw2PirydDMKmg5TOC71RBU11/t3mj+1+D/JUd8VEqrcfMORBE+SA=; 4:J8VTA7I2ZpIcEGE97l/dS18tVF4Mlp784GGefcgu8vqe3MAyKFYal4uWgDx7aOYH7ivmDUKjNv7kYvsJKjdxXWnhzYSyuj2r7OfHYBH25/+pb5EPEFa6YtFClKXE4X5y3OPRdYpq4e1mL48i0vlxLghZdALf34hOpW7AOLtfPeymstQHHFHg1DqHAWAU1sz+W3015AcsraCgnsZR2IrMfAj/K00nMGXkcH9TTksIssItNXtS1bVq/TFIAXENSWjn6DYamWMJL9Zu/Q4D6NH8qg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(8121501046)(5005006)(10201501046)(3231023)(944501161)(3002001)(93006095)(93001095)(6041268)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(6072148)(201708071742011); SRVR:AM5PR0801MB1940; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:AM5PR0801MB1940; X-Forefront-PRVS: 05568D1FF7 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39380400002)(396003)(39850400004)(376002)(346002)(366004)(199004)(189003)(50226002)(53936002)(81156014)(8676002)(25786009)(47776003)(2351001)(106356001)(7736002)(81166006)(6116002)(478600001)(5890100001)(6916009)(66066001)(97736004)(36756003)(386003)(16526018)(2906002)(5660300001)(6506007)(6666003)(316002)(3846002)(16586007)(305945005)(1076002)(8936002)(4326008)(2361001)(68736007)(50466002)(48376002)(26005)(6512007)(52116002)(69596002)(53416004)(105586002)(6486002)(107886003)(51416003); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1940; H:virtstar.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1940; 23:SBb+vuqnoxRcjlDRngLZJQtIlAUR7bIm55qKSvP?= 8y8Jg89ut8EHwh5LyeeBV+daCc7hK+M7+0D/q8rLlWNoLYLyBX3tgSWyGfZ1G0lE/czE6K5DSKRNZ8irerLwvve6dGhv/jkGDA/aIYd/VT5n3/LJ94ubwECrAqQDzHwfVC2g3j0bqMCumDCtsR/FDPe3Ybjfc8+w7ppAhQpGgmmemYqmB0uL6GGULpfDtUUa3y+E6KJDKuMgWvH/llW4srHYSAXQJOt+lFYIS9meO1xtYHKJRV3oFuOFmzHQ5qEnPDlrXytUFw/bHvimk1TET4RTcPiDrpAqxCi1rHldF/jg1rZPM/Kzt/vHxD97Ro8Jr6CwgybhJQkehnrUQauZWp9Vl2RNwMV3uM9pnfMOoPi0rMAfJDBDgltv0+0ijYpAwaJzszyamZw+5qRv7AikY/gnY/i9+3W0Eq3tt4gzo6CMHE+NmJECrSN7sgJEbxIJopNj0yjkn7wKIZfzXsQQ2FH1p0newmRsOuSQt+N/kTH9CbqpL6Euy2gby/1SYix/FxhQ3W+Hzulk1Y3OHe3UHxporlKe8uCEbG9sNHfNUZiwsMHpn4ocL8rUaoGt07wINTLOUl/kgXU7rLOf4fydpAl/7R/bwS9RRv4cz91Xn5zJkXK8loRbnwErHX78sIjT+NhZpV7+y9LosMqaOudCwBEdtrbIYBTEvxCZtJ4S39uZGJSBgBIwF+lHtuZAcMszwEzpKfLIfW5MNFVJUc1IumahqOr/sYlbefRB9CpvMKOL0tpYVOuJGLYbht4tkH7gFbI2HIW+2MAbrtcTeL+uGzWgvXJ43+rGg8qnLrwiSLQhnBZn/lMdbJZyi/ff1EFwi0H8EX3aDKEQiaA8O/L55VNzpeF9E+8c895nbmmmpChnnER6P16zHZ9+SO76xgkf2TeCR92qtQin6CUfArirUKx9C6z+SIZBdYMoTmwT6PGpLqC5h57vwvFCX4RGSADbdycyl9RX7+Wuh+1NvwtFR5IH1IhARRB8Ff0G3CRTKJuOn14fIDvMzV74yPFs/oiBevNRGuo0KzP3fqeAr67iHauQt6STdvKfAQULXQlddGkH+/QXX3eKdGC4VfnXJ4p+oo8Y/+CwxIqeFOmRqtFH6PisJlUFF8UVUzEzpzBI/m4igqg== X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1940; 6:OMTbMOCo6s181XYMhHJUlva3z/SPRrnOELxLsWwTRX/APDC5teJlO1wjIVHO6UAfi5Ut4OShrcYDTnFnBFu3qEWaXqZoojfXrUfa2aAe1bZW9j+I9eqcmWMHZBk22XwRRv6H6XUdsugaPRsCbrktiS6e9EmuxbVUnna9fCEkf6xuyfaRzwoTicABhU6zVzcyH7RL9IIhsF8GZnMAzIZ2mH3bCS9zEBhTULqKposvFFm9svgaihGa/R9qFUnwaOygbRThkKZIupJrFb+RAuhU+j72DVGbttYqmYD5XKCbo6aMcqHnIcEQoZbQmEAREV/Pc20+1nW3e6gWGfBeihdbquqmJgr55CxiVlPV9jGlqQA=; 5:YPmMIJ3bb08Bnb2CHxm7kMegquIYOXIkD9ZoHytQO6kSmDV8q3ePtJ3t3aGsIijrRCUAkWsCNW21MiPjBuoD/qi5Jr34n9NQ9feVLbL1QHdCqNDE2mc1vfGEnC1JYFksdt4KJWc1IuzT4R+zuldMBHjMdb5/JjlLI+cyGq1Bkd8=; 24:qeVrEObi08FH9rF1zVgytfawV14n8Cygl+u6SK9GgBsBc71PEm/hPdMgU+uB1/YZpT7gj8XSARqe0n8VqJlnEWbV96UMFYyqcxpRzytUbAc=; 7:BTbxrWfpDYgO24dWvVfA/V9239yJG87GQlQdARHllcsR8s99LGReZY1FkJgzl7CV9botp9irF00UjIylOkLYx8oYYSNQylt7GasRyy60KENjhEp64Jl0K+bNi3SK2ik1QGl0m1LRpEtN2LiH7TKjgwtembIvGwhgWvghcLHRiMFhMBFH381KrOGevWmdEyIPKrp46sbYQwOBi+NciLFCmxvk7lYA/2tZrvoLn4onBDwLjzHh7WhhUfuAeNVyJxc4 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1940; 20:JzqMxkGvx63HCYHW7+c0WkiJZsYqhL1kheVZlf44ftWB8+f0BL/djHtytPHqsbm/s4VvbmCKUMKzRCPuni8vsC0mLrIH1Lyy4nIP0sG3rlrxO10PFUDCoyVVoYKEJ6n1pfi7Gq0+iED7kNdb0GV9yj+f/l+jN0SWUO34maoneCA= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2018 11:52:17.8128 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2ed8b431-ddf2-49e1-9079-08d55e69ed07 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1940 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.2.97 Subject: [Qemu-devel] [PATCH 1/1] nbd: implement bdrv_get_info callback X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, qemu-devel@nongnu.org, mreitz@redhat.com, den@openvz.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Since mirror job supports efficient zero out target mechanism (see in mirror_dirty_init()), implement bdrv_get_info to make it work over NBD. Such improvement will allow using the largest chunk possible and will decrease the number of NBD_CMD_WRITE_ZEROES requests on the wire. Signed-off-by: Edgar Kaziakhmedov Reviewed-by: Paolo Bonzini --- block/nbd.c | 11 +++++++++++ 1 file changed, 11 insertions(+) -- 2.11.0 diff --git a/block/nbd.c b/block/nbd.c index 8b8ba56cdd..94220f6d14 100644 --- a/block/nbd.c +++ b/block/nbd.c @@ -566,6 +566,14 @@ static void nbd_refresh_filename(BlockDriverState *bs, QDict *options) bs->full_open_options = opts; } +static int nbd_get_info(BlockDriverState *bs, BlockDriverInfo *bdi) +{ + if (bs->supported_zero_flags & BDRV_REQ_MAY_UNMAP) { + bdi->can_write_zeroes_with_unmap = true; + } + return 0; +} + static BlockDriver bdrv_nbd = { .format_name = "nbd", .protocol_name = "nbd", @@ -583,6 +591,7 @@ static BlockDriver bdrv_nbd = { .bdrv_detach_aio_context = nbd_detach_aio_context, .bdrv_attach_aio_context = nbd_attach_aio_context, .bdrv_refresh_filename = nbd_refresh_filename, + .bdrv_get_info = nbd_get_info, }; static BlockDriver bdrv_nbd_tcp = { @@ -602,6 +611,7 @@ static BlockDriver bdrv_nbd_tcp = { .bdrv_detach_aio_context = nbd_detach_aio_context, .bdrv_attach_aio_context = nbd_attach_aio_context, .bdrv_refresh_filename = nbd_refresh_filename, + .bdrv_get_info = nbd_get_info, }; static BlockDriver bdrv_nbd_unix = { @@ -621,6 +631,7 @@ static BlockDriver bdrv_nbd_unix = { .bdrv_detach_aio_context = nbd_detach_aio_context, .bdrv_attach_aio_context = nbd_attach_aio_context, .bdrv_refresh_filename = nbd_refresh_filename, + .bdrv_get_info = nbd_get_info, }; static void bdrv_nbd_init(void)