From patchwork Wed Jun 13 17:44:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Nefedov X-Patchwork-Id: 928998 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; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="L0O+aTzo"; 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 415Z0l0B7vz9s4Y for ; Thu, 14 Jun 2018 03:45:41 +1000 (AEST) Received: from localhost ([::1]:35953 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fT9px-0003M8-JC for incoming@patchwork.ozlabs.org; Wed, 13 Jun 2018 13:45:37 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59344) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fT9pF-0003LC-HW for qemu-devel@nongnu.org; Wed, 13 Jun 2018 13:44:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fT9pC-000718-RT for qemu-devel@nongnu.org; Wed, 13 Jun 2018 13:44:53 -0400 Received: from mail-eopbgr10138.outbound.protection.outlook.com ([40.107.1.138]:47432 helo=EUR02-HE1-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 1fT9pC-0006sA-Ib; Wed, 13 Jun 2018 13:44:50 -0400 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:X-MS-Exchange-SenderADCheck; bh=V2I8ydvYJbbLHSt1UfORyPn9JJ2p8anq19/Jgo3cmlQ=; b=L0O+aTzoqGZRArMCAVsY4OST10nx76mY1ztA9CPQzyLJ3r5FiSyn0A0h+a7lr+IHJhiik8/rh5WOVJmDOkfqcV1v816GQSeCkAHHrQdqeQ9poB+E1/2QTvXpPFfwroPFUzlIHSsGpF5dmCBLBUf5kD5uzXeTPw6gh2CMYercjg4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; Received: from xantnef-ws.sw.ru (195.214.232.6) by AM0PR08MB3347.eurprd08.prod.outlook.com (2603:10a6:208:5f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.16; Wed, 13 Jun 2018 17:44:46 +0000 From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 13 Jun 2018 20:44:19 +0300 Message-Id: <1528911866-37489-2-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1528911866-37489-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1528911866-37489-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0902CA0023.eurprd09.prod.outlook.com (2603:10a6:3:e5::33) To AM0PR08MB3347.eurprd08.prod.outlook.com (2603:10a6:208:5f::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b1c56412-cc3b-48fb-d32e-08d5d1555ad9 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM0PR08MB3347; X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 3:pI7HxOnTj+1JZxr4AX85jNybgeaAlxtLzMJe6YfqvZ2JAQDTsxzg4JGBRMc+28hSPqpOWW3iz4t6ETbYKmanJ5KeJ8I3RyEsvmJud0BBe6jfSZno0J5M1exn6qm6ne8rs5L6jFHMw3PRV6EJeGHEZaV8vk3SzNCZmqm+QZTs400yJY+75cTijC/dy8fTECvG5utNV7mvq3QhyagFl/Z8Vf3GOANb2M0CGNjKW0muhWdAIrwDgiJPfXe2bQERFZl4; 25:ZOeOkRcgm1UHmd/wrOiuLyO3jQdSvppYup6GboWRZUassXh3Ro5i8tMoRb8r2vjeRTdGZrAuD5rny2XT8kxtoUZ3HqIz6En1E43Thk0dRCH8JU4U9neYBJcwGDjoXv9ingNVyzi+i7QGd7i83mh6gZAJnJ1QF7DG5hqnaXdAx7eRe68xa04MsnYaMh92pfgV6UWniOw60qxxlNxFQvE0dspIk7WB/fg7SC27AdaKu8FQ4vssQeHcPuAkkPdO4IKlAE2j4wBrc0mDjTjtLcZpez+CWVPKZOvbS85yZ2vkRjju7v3SE0+NUVbSYnPHKhJ3QLh6DHbtgWY8mw3RQ04UMg==; 31:j5J3LEMHA+0DNrOjuBZQxNleGWV+Ml4nQDLOK+fUU5sFhBTbn4g6Snryqaz3dEXNopav1576yABV3NpNQEhNA9Lv31ZToAUotNfhG1BoOHItS2K+fz4/LI6P3h9sGCgUOHfP/N5NB5DdJHfkx2zF/LgemhmQ+rTlML1vSmB7stnTOFI8Y88Sh+Sv1LGhNJEsEe/8D5IcdE3Jj60uODiMsRsBVCmySfv7VpsCsKfx9ug= X-MS-TrafficTypeDiagnostic: AM0PR08MB3347: X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 20:nc3SUtsVJg3KLrM8yDc6j8ojc4Tp/ZCvn7K0UCvcOIxzIpZEjXuBtOUv65eoXCp8nmX1Ost/j/1tzLKdhmH7BxMiE61iE35hHrd1yWLggxv5Tnx1H2P9cZFC/efpDFUKyYILnufC814vWjtfO3WWuuzyDwk7qwDf6qan06xmVlbEQaRh/v6QRlMpfnJIS4pM9yYyzHc6e0jPD1IheiLIvJ7h0hUTCSZKA8HLxn2ZBuB5+2yarL7ng6YOAhqgYUbHKASsNXhoKwjD0MN12n4RCCQNX1Gw+XqAWd3fXh4sUFTqLYUfVsmQEAxeFSaNZWxETREIppMPhIqQN7pTOsnNMQBBRxxWkeTObza2d99ujisLq7JGGGRJiKxaUnbzPdy/8nPu9o47upaallY+tBRAnupJQP7NIo3Vn61pRQaYsICYn9e8J2iXc88oROUoCtgP2PmBvb2o/NfsaPArwoVQfEg4y37JCMRRLEHvSXvxu3J+fHZGkeu7LeSAsnNqf1CI; 4:uHnasL/ePZlTt34Afhlx9eFPCesWQjiNQser0htOqunoRLj6+xVcgQdZJv8Occ7eoXigCCvBhMcbo0V0ZLi/ydQ8+ASGPwgeab7PGI3qIunRc+vSman9qwu7CavO4WKjnZRDEkPW+0tYEQEbEdnqMi3E08D15+DIMgY+sn4IXquAaDbgVNwGjqvbvadv/xE1pK/CxdoA6LNa1HOv/fIKe3qUMKQvFgiIgz4Zm6x0fE8742ngueHufnQsFWbmnve7CMueNJbCjPtwm4sYG2JWiw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:AM0PR08MB3347; BCL:0; PCL:0; RULEID:; SRVR:AM0PR08MB3347; X-Forefront-PRVS: 07025866F6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(396003)(346002)(376002)(39850400004)(366004)(39380400002)(199004)(189003)(50466002)(2351001)(386003)(4326008)(2361001)(59450400001)(6512007)(52116002)(105586002)(486006)(478600001)(106356001)(44832011)(53416004)(107886003)(51416003)(53936002)(76176011)(11346002)(956004)(446003)(2616005)(476003)(69596002)(6486002)(48376002)(16526019)(6506007)(7736002)(97736004)(186003)(5660300001)(6666003)(25786009)(6916009)(305945005)(8936002)(6116002)(3846002)(50226002)(66066001)(36756003)(8676002)(86362001)(47776003)(55236004)(68736007)(316002)(2906002)(16586007)(81166006)(26005)(81156014); DIR:OUT; SFP:1102; SCL:1; SRVR:AM0PR08MB3347; H:xantnef-ws.sw.ru; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM0PR08MB3347; 23:kv0ITNhhg0b60hI0KdLW5T+uxWpfSIZFTBYlXdRHR?= WuKR4G2BaubjAa8noYTMEt9fQMMPhfyzz//76renZ7/gaf3XaSLqKfASsH7XjwNTyzY410NRjeKTSbvmckccMpqJ4XGEkYDyjGkuh9sH5E4rNDU+hmv14roeEgul7UjeufL9+CW6U3DtWRCN8dBPArAU3yUaRYvYzRbYuEu57Adw9dEoOdupi+5RWbhFMVLZLjObFqW5WXUhf/nXJutJS48uY+1wHUWd6WWI+qGPx/4ysWSfR7yoLE5EFagK+FjJgNPyY3MVqJiVd6EOhZ8njs1iC/81K1GMN5WQg9u4gSmuX8kh6uYKNV5gejzBln9iw0Q3a99c5MWl60dUSoB2dfdDzWfTN5OQ3WexmVQ+Fxlu8j3rcmtCLOEDJ+1DQu82+PQgX9fOHI3ZC3KrLBP7a2Qakzf9EMu8GlUEvmlKHFPAVAPH5DuZuMCTVWHvINygC+SH+JfXAB6qB4ziFN6Yc1/dZyFFueGaLj+dHLeworL8JBHG5+6nES90PIqpRfMv+NriB7IRgPS2pYUbQjqZPO7Z/IEQ4UQ9XdrHXyVZnm0sAj82JeyshESOzM/Ib2Q3bhuZ1X/jRpSYarHlVBeKxzxypSX4kqTG4o6QVpanbqDc0uWV4VUBwBgoxf9pn0IV/fbVtcyD4hnBHze+q01gLCKcarPV0oITjpeBVBxoHiVexr/ODPy7x3eRPVZF43eijXhBIC4DV0SWGHX9A8GKUq7f2LazS/oyRzd0FlM3D07X/A/28QosyN+/ChoJhSTRi+G9J0XprCX/OvYiNUC1VFGyRh5JYfedKCkfMBvO/pJLdlNpBEUHAuNINoFgirMP2m2OqV/L9Hp1oY5B0sUAvjMFyFI4Pq5MUfNzN4VehjjCcewQjs1FSZE+xCdr8PqlKMAOwGmWebdzWM1P5p4mICbar4ygdeRuKIrYZKtVxYcj7BSkjnoh61Oeuo7u22ibTVERKKaDKsAE2TBttjpP+ol408Bg2INLWNuoVyFY7FYs1WSnjaBiju1GwPaGskXm2TwXz+eJUbxtE3Fr/z9aPHUmmVyAHZCynVrpRF1vLF3wR/5O5JA9bOvc4hJ0nXGMOsZRLHnD3kSeiOctQbmGh/kG7ulyUYwvD1TKUAh0/v3cm3g2/AJzKTLO63RHbl0wQWZcH3kyxZnd+j8ON620avY0+8P09dFo36/Qb/G3e/WumZ53s62Q5Yqg05GCTiXyuNFfHJYgozlgDO2Ku6ZsEWf7hnLlTJGnAWUxJ3/B46NViMzkOq7mVkxjcCcEzjtpXCFR+NLfYpQiurcMZyAs4ES3GANAdH0/tvl2j4ySv8pGA== X-Microsoft-Antispam-Message-Info: 9yBUnJuWHS7mbE0TsPEbIl6+xlREQCiQ+3ZGtgyVOeNMyOFDa/yGdx8ptpj/eA0CjpTXgsG3kV6xFxGuQrb6jRO+qKixPsXupoRVNBbv993PxYBvJN7VatrgrR5/nK4jEcInRffa1NQ5daWrTrI3pZbTP1E86ElqXFAQjIOvI9s0r8UThEqW18+LnuBzJRgv X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 6:xoJpjWIVj7nc8qB7/evsXJyKpxEwvNgdNyViYUbICPaPjYWVf51FW62tmPFnAErDWBmHjrnbEB3TDfqyPu7py9Ey3JEgHjkgWyDanAfWzFIj4dMvixOXP9g6gBzABnU2G4BLcooTfj6NwQBrOuUR2nWFIRgqgBz6tmUtz8KapxKvV1TeIQ9FYzZiPy+heQa4i0G/PYd+srvIPZYwRjBhI9oywHH+HpQGdvBgxzlc8h6tPV8ZDVOd13oTwE6zH+arTZbOy8TJz6gkOpAGspsL9yRV9XOFWXx3UyazD0Hr82qyfrCBGB5hzjbpD5DTp3w1nGNF3ftIjPT+PhcQaIiflTfVJ44m1+c3oTjkGl3BF0Kd9GbXE5h52aAO4mgxLNKaJeD5NA8tH7GicdnwluQGjWKKWkkZQmUQ06Hl3LNsTrzvCnWgMrx4M1wwXus3bYnLvgCWAazs1Z2YaoecDDhfyg==; 5:hDVPx6dgARw/bZwiG1pKdGzHmPVT65U07wPN568c+t2bkCWMtHvCyFKB/66Gjax2wvSbgzZWti1rU+tPV+/yBBOKGSTR2BHG8eEbooGKrqGpRyAysGqLx2ev9oMAkuIIacF4cZVKmngu9xLTyk+ucPQNXq2Ow4xWJls7sV2s4Mc=; 24:bB+f6+M1QyAiD+RsYq0Agw17svHRTgH1WNegT1IOHnGYZTXdhfLreBCHONnyyjkPKeFqgEe1HQDC27JRQugyI2pjHRz21wEYBv5HUzfw2DM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 7:5NTAXUkPNo3JdXEmomXP35H8R+sPfiyCI2oeTfrnDNaRxGq+JLV3FgOP3wz/xcatre6FHLE05iV3Hcd0bIXOb3B13MfYC+z3g5KJFe0pe7pBNXhRzuEYUgt2ED6iUXWY2zz2afPd87KgHpwToXN7LuSYHs2KlkkDkPKrW0NJ7CHHT6jaq+P/uibwQCoUkGfnGRahwdqTxI0QDSN5I2SanOgNzFyJF8HpFiRhBHKLNTq48yrWpuU7wdaqbkfvEZ32; 20:vm9l6DIX5a6UnxR1appSgxeBQDzoNOFmH9fusWubwnawtQz7/lNer0lMctHTAFGkOE7rY1NGOO4idaOcm5dilJJ4SAlRMR6nRL3EZ5IG/UBBsh3HVrF5qun9JZoRah4YuJvVnCCk1V7RCjW+y/b+D8lujt4rAoJPlivv4N59j5U= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2018 17:44:46.1097 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b1c56412-cc3b-48fb-d32e-08d5d1555ad9 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3347 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.1.138 Subject: [Qemu-devel] [PATCH v3 1/8] qapi: group BlockDeviceStats fields 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, armbru@redhat.com, mreitz@redhat.com, pbonzini@redhat.com, jsnow@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Make the stat fields definition slightly more readable. Also reorder total_time_ns stats read-write-flush as done elsewhere. Cosmetic change only. Signed-off-by: Anton Nefedov --- qapi/block-core.json | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/qapi/block-core.json b/qapi/block-core.json index b3e94d8..ee75aef 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -784,12 +784,12 @@ # @flush_operations: The number of cache flush operations performed by the # device (since 0.15.0) # -# @flush_total_time_ns: Total time spend on cache flushes in nano-seconds -# (since 0.15.0). +# @rd_total_time_ns: Total time spent on reads in nanoseconds (since 0.15.0). # -# @wr_total_time_ns: Total time spend on writes in nano-seconds (since 0.15.0). +# @wr_total_time_ns: Total time spent on writes in nanoseconds (since 0.15.0). # -# @rd_total_time_ns: Total_time_spend on reads in nano-seconds (since 0.15.0). +# @flush_total_time_ns: Total time spent on cache flushes in nanoseconds +# (since 0.15.0). # # @wr_highest_offset: The offset after the greatest byte written to the # device. The intended use of this information is for @@ -842,14 +842,26 @@ # Since: 0.14.0 ## { 'struct': 'BlockDeviceStats', - 'data': {'rd_bytes': 'int', 'wr_bytes': 'int', 'rd_operations': 'int', - 'wr_operations': 'int', 'flush_operations': 'int', - 'flush_total_time_ns': 'int', 'wr_total_time_ns': 'int', - 'rd_total_time_ns': 'int', 'wr_highest_offset': 'int', - 'rd_merged': 'int', 'wr_merged': 'int', '*idle_time_ns': 'int', + 'data': {'rd_bytes': 'int', 'wr_bytes': 'int', + + 'rd_operations': 'int', 'wr_operations': 'int', + 'flush_operations': 'int', + + 'rd_total_time_ns': 'int', 'wr_total_time_ns': 'int', + 'flush_total_time_ns': 'int', + + 'wr_highest_offset': 'int', + + 'rd_merged': 'int', 'wr_merged': 'int', + + '*idle_time_ns': 'int', + 'failed_rd_operations': 'int', 'failed_wr_operations': 'int', - 'failed_flush_operations': 'int', 'invalid_rd_operations': 'int', - 'invalid_wr_operations': 'int', 'invalid_flush_operations': 'int', + 'failed_flush_operations': 'int', + + 'invalid_rd_operations': 'int', 'invalid_wr_operations': 'int', + 'invalid_flush_operations': 'int', + 'account_invalid': 'bool', 'account_failed': 'bool', 'timed_stats': ['BlockDeviceTimedStats'], '*x_rd_latency_histogram': 'BlockLatencyHistogramInfo', From patchwork Wed Jun 13 17:44:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Nefedov X-Patchwork-Id: 928999 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; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="c+u7n1qU"; 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 415Z0l0H2gz9s4r for ; Thu, 14 Jun 2018 03:45:42 +1000 (AEST) Received: from localhost ([::1]:35954 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fT9pz-0003NZ-PN for incoming@patchwork.ozlabs.org; Wed, 13 Jun 2018 13:45:39 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59343) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fT9pF-0003LB-H0 for qemu-devel@nongnu.org; Wed, 13 Jun 2018 13:44:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fT9pD-00072p-Ck for qemu-devel@nongnu.org; Wed, 13 Jun 2018 13:44:53 -0400 Received: from mail-eopbgr10138.outbound.protection.outlook.com ([40.107.1.138]:47432 helo=EUR02-HE1-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 1fT9pD-0006sA-3r; Wed, 13 Jun 2018 13:44:51 -0400 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:X-MS-Exchange-SenderADCheck; bh=xmjpw0G5D3kJrGf3ph9RRRxc6y8GvKqIw8JHxR0Xqj0=; b=c+u7n1qUvcW0gJdmkZmSXVGjSZOa0gURKwryRqsG8VJDLZp5/TNPQZa4jHfxIcwQlHhazE/HLxvR0LRS+rSNfeF4Vc8K1LuSGPiVi+Nn31CffAgwA+pJ0SHzcnsGAi5Fo1Mr5W17c2dmdY7vf2bPGTXXcijiv1jTK+2jqHgkBy8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; Received: from xantnef-ws.sw.ru (195.214.232.6) by AM0PR08MB3347.eurprd08.prod.outlook.com (2603:10a6:208:5f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.16; Wed, 13 Jun 2018 17:44:47 +0000 From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 13 Jun 2018 20:44:20 +0300 Message-Id: <1528911866-37489-3-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1528911866-37489-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1528911866-37489-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0902CA0023.eurprd09.prod.outlook.com (2603:10a6:3:e5::33) To AM0PR08MB3347.eurprd08.prod.outlook.com (2603:10a6:208:5f::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bd894ac0-963b-4987-c460-08d5d1555b7a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM0PR08MB3347; X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 3:MO/UeT5U6vCX6CsEz1b5+hDTfYRHeMKBYY2YVcATZDIwIgis7Q6mdCL9tJLrbDPcXhPj1KYbmZ70eiVHjxox9lmB2IvoIdtZ8JqX7fcuAij15S+subnA5BTBExTeKLFj5yeT8OU9HDWPPpj+jd6W4ZdoK4Qsf8rWQFNuc7XaZkhHi2S/5j3vegKIDouZmehw+KgnYXzSuZR/+KBpWJuOG0tox1AEwdk9FIdSuHpHO2Sg6EEsGvYXx1F04M5XDAVw; 25:xJkKj1SvCE/HvHY9q1nJKD4IIepCejmz76dlWg8B0EV30Vuqkr5a98JvsLDNiJodDWJw8TB6fUsvMxHr2KrAqm4AVlVUkWRvcA0VWQLlhRFE2PDWvIM0Dyna87eDO4Anf5R8UIUv8oKoT9FgaQkVJ08aTx6VgiNk035D5+RIeGGYeQkDQ72uZikyxPx+fr5cr1m7Iv+KsS2uZUa4M/Pt1osR0IieKq/4g6YQGBrc/ZXQIK7NVrQEIoQQ5pZyt+fsnSQkqzE/arAbJO5QUJ9E7i1TDi92JxvYssr8jBIn5sVtZI1eLzbQqUn9u2/quXrXqTx+F0BPdI0p1eCGBZ4kSw==; 31:PsZyBr9oxVf6wLNb6EXkBiYxDlStRde9t8VZkLhK8Yb+VyOIYQolYKABov0CHxaE8idEY1/30Ud5oetTXEXgq0maXXWmfMuRiFlY21BEssSREAGdhIEkBcrJwgirOUQuuG2vRa/3v17pVqTOo0dI1fQV+BykyuN+S3zlsIfK5/Wk+HMlv45szuPMyT5FEP6MqJsV1RdB9quBMZCqR+i3gyHj0S1e224ESMnlTCpf9Kg= X-MS-TrafficTypeDiagnostic: AM0PR08MB3347: X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 20:oJE1Te5UhLBAtYlH9uZBoLTwX2uxH6sOfqtrDzF45VZeH9ahSbM1M/fjvwWOD3tflwePAWCMFirQLPQ7ChLr45nFeBCxmZgDoSy2o5DYMLX07PZt+mfsvqmh2CKgggtN/FN6LuZOFpd1qbq4TCYwR7Pibi4js2advxuSrJta17ke3J1L5AQT2G9VpjqArsjJMOD6k3iNm4GTcDfbNXZRFuBAN/wuOfeU2bAIDgMwE4gvTQt4LD/Ou0eIH7vryW1HNah4ibk5XZkjXa9jkOUJzbAQ4Id9pQMvYbj6GdlFpFMBRIEJ9iwl/oCcnPrUsF5P0kmDk3FYV9n0RbbpBLTvEMhAsiuEVRlTeMr9RBCHX+hLbSL6dX3iOSC4AaqXNTImt1zQ5KwSHZA3aPflChmioGorYNjo6r7ogxIzTwmVNUL/lvd+IaRxU9LtcM1dkZ9GI+UGzVkTM8y/m0LhBAvzcltiWyK1w42U7NZA5tR7P3HKaVi0uZYe85MUz4e1RXe1; 4:HkfMIB4faU8L8AnBGq/yh51Jptp6SZawzE/LZCfvKkGO/U0L4Zy9Ad9mY2ARd1sRRv0tEQqm268AtTl7Oo9zy71S0sulO/PiwwKvB/OFWY8yYHzaZpDm3u061zqqgKUGORscu5Xib+CbWmleNFhLmJnIqLq9EhrdeY5rmNe+mccCz1WF6U6Zziltyy3H1bG0hpXAmWyYCP+NolhBjYkC67oJWML5w+/MXY8f2lDVPDO35ZNPgi8JhWLSS8pBZOsQ1ng2zQmOeqhAhupXJuB+GA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:AM0PR08MB3347; BCL:0; PCL:0; RULEID:; SRVR:AM0PR08MB3347; X-Forefront-PRVS: 07025866F6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(396003)(346002)(376002)(39850400004)(366004)(39380400002)(199004)(189003)(50466002)(2351001)(386003)(4326008)(2361001)(59450400001)(6512007)(52116002)(105586002)(486006)(478600001)(106356001)(44832011)(53416004)(107886003)(51416003)(53936002)(76176011)(11346002)(956004)(446003)(2616005)(476003)(69596002)(6486002)(48376002)(16526019)(6506007)(7736002)(97736004)(186003)(5660300001)(6666003)(25786009)(6916009)(305945005)(8936002)(6116002)(3846002)(50226002)(66066001)(36756003)(8676002)(86362001)(47776003)(55236004)(68736007)(316002)(2906002)(16586007)(81166006)(26005)(81156014); DIR:OUT; SFP:1102; SCL:1; SRVR:AM0PR08MB3347; H:xantnef-ws.sw.ru; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM0PR08MB3347; 23:A8QOml+PrSCGynIKhywfU7QXZ7MxMM1kFwd+vY0GJ?= omZ2O1gMgIDn+1RKkhUIkohGoeMgQyjXloqy4JgbVTKHQ1XJtZSHp+A7lcy0YjFUemyW7khUYVage2aandCsghfQd32zPVwQ8FbjkdlMne82v28y7y+QxbVSzK//avdYF1bfhhtrgwHxXvGV7zbOdUxY1yQEEWRDHc2smROsd+5EH4ZnQ44dAyk62TCHcHVqJP6izHgTeo7pXQl9zLrUsoi1P6b1S/RKGSoC0vXVo/WXG+Ad68YluSuQdoQnuQ/T8dmXozFfpC/8h9UalsQuMMwz/X2/kvvfg00GSldSFjSr+Qd3WplFBliw3fJabxA30Hd5uRVSUT9kUxhYsI6Yjp8RYGITH3EOTFQeRYyZhh7t8WJ13JQSPImLMNkQc5EHv0wWvawVP1ftgD2GahuX7mIy0ly/NVyy/Lcfd00wRXedCPWpWLGPN3mkM77CwZacypfizFuPtDpvL+nYHa111PkDKh5YYfYUhEL4JJbnqrFvBCpwhldcsvgq7cCtHV0WH3ceJIPpiD23mSh6pavNJtuxsiUS8vet34Sh0j6lxPhwvI3VObn4aKgpDURLqDdasCQPWKV4ngyM241v2TRRgrTLHctZInnoB0FQOS958VSdqeGW/4Hb2LI4PwK9hiZC2CrVAi8TpTqjC0h/zn2R3yPNKO2Z2wFcGr8jUm29vnuwlHIFB25cywHCg9VFQhyY7Rsc1BiXaABDdESQuw/PQ7qPUTdMiopiOPgBZj1QzVoZX7LOJo8n2oWxeaHmmf/yxzW107RC9v/Rk3TgQza9rT5VS3MyQMPajee+akBY+nrMGoa5RUWSz8ZDnZ5XMjmPsiZ1bBgbmqYUIxRzmBUitqIjJem3EBCLVEXqhDXKFo3X9kBhkY6nQlfuRyJ0HGMfyyPd6As9OTZ1re+783xhivivjnZTHsgfZ7/nvNDqv1IfRsdTvOYddO/bYXBOQVHGKT8LCiNb3tiNGY7TmQjkfgPoUswE35OmK2PKgUq8CbEsBL1En5ZBxC83HhpUXXE/1KE7VDbDo0cVLnngFvhiVs7TVEQNY/j/fmO6p6V2D8XTqPQ32IQPbaGWZSA2r+5fLFhjiKaH4DwS+ySS0KOETL26gO8ID4WsT51BZ4rZDxBcSZCqZsWCCsuDCaiJMXGlO6JiDzshwPX4QEgt8H/c3tr/qoWpW952jRDcQCSvyplYNgvOs6YNEd046XXbGb7uy9Y4EmbAY7V6I7SKs9PQMeTGI1sTggg6MynFBO6sD9zl0Ye8wywuU4l2Y5Dy26KDowxYj9yx5nsYg1FnXEFwCUeBblz+V5oFLCL2SqDW27CyA== X-Microsoft-Antispam-Message-Info: fdoCDE4+R737t59Thd5jWlu6IxBKaApF1U4Sn24eZVA/Z1WlX0/0kZU71hXg9SZwJYrKXh3prRxHZnnTl9gkRYZ8ft430UBPhsZioYXFauAI9W4+XoNC128prdGrey989UhQP/8IHGOqcJvZFyu8OuCnKd13+7t/s0cpVqTu8Mvqybnr6H9yCCRL6pWWmMyI X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 6:Mx35fNXY8SFoOMZsJdeAAiEwcRNK7RQ75yxCCszl2tfrSzuvGAaOrHNeH2vC4270Y6A3t5lcz7Z7LgJu2cQIxGXjIe5TczAWh5DuvJUHivMQnXFKYW97dnzlzjd/saAlCl5azQH2Jg/JiNFRzZHChO37zZkfFUnIRNDFc25cvoVwCX23BBURbRQbgUUQEg72C72A0uVGoNWbPj4pvXyXAekAt+MJlseoM/yB4wxahPUlPLxtbDOI3OiJHBBCYyQI1IBpmo0Dvna91MlPat8FlwgsOFIkfsvvIEObnZQN03nGIP62tkXdtfBVryXVv+dg/t5aGodt28JElkrTGJQSPa8Rc8xvBwgVqOP+r6k71YlvllpgsM0nPnW/aBEP2dmklfEpPyiWUfQD+00bTywl8vquc2uxu0QCUFVJdUOUU79Gr2DIeLjVWqpbDkc9USC5LQ5evCFbjXC+/MyO2q6whQ==; 5:6oiMwVvnyq6XlfpcX5KusB6SD1NrwJNlhzgWrOKANOuUOyumOvjhHHskvzgoqO9+cn3+SCWQR0CJw3Ny38TV5/m6FxxBjP+w1rL3ekRFe5m3cqyywYCipHgw67vVIZi/gyM/W0Kz2nQKcOklPbub7O4dZfS38AIZJ+Ioy2yhhaw=; 24:G+R2+9HQuxejgAqLqkOJaH73vPtYcHGa/ZHtG4CLaD03pyo5ABIMiPwq8Yo19B+wr6Z1zuzMyYM6mgj8BYyJCU5p9gNE70MdQimHwLMlWIw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 7:IyiJak2G8iQ64/KE6XOWyvfAIiPOmuwnOiLBBf5jCyIRYX6qVHoArSq2YTYi+zFjoMMV5IV0Zq8f3eu7HtxGRP4N4wklHG/sZA3mddrL8fwVudymz73tcjhEruddON3ppu3Eh50hHyHp3xj3HLPat1zojutOvYycNOdupOgAQozaYXFN9+DkEI9ik6mH7BTnNpDQDjcfAKdRLYcoPUSrnrAxdBtfR6v0JqwFBmNWDUig08wJo8r09zrbymUE4VeV; 20:/8AC1givde1FiW8X1EWshtU/WzFz9UBfVSdzOO0Ae1gP4Dd3iiojV+pmyRUy3LapmVRIa1dlpIy9DYOYuBuioQNR3dj2piwVuRMERdEtVdsMj5Lq1SbJ0fWNWo+bG7ThnERttBL5L+QOxNmOKt75dKnUfNEU/EbmGUvTo5tznt0= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2018 17:44:47.2475 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bd894ac0-963b-4987-c460-08d5d1555b7a X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3347 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.1.138 Subject: [Qemu-devel] [PATCH v3 2/8] qapi: add unmap to BlockDeviceStats 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, armbru@redhat.com, mreitz@redhat.com, pbonzini@redhat.com, jsnow@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Anton Nefedov Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Alberto Garcia Reviewed-by: Eric Blake --- qapi/block-core.json | 29 +++++++++++++++++++++++------ include/block/accounting.h | 1 + block/qapi.c | 6 ++++++ 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/qapi/block-core.json b/qapi/block-core.json index ee75aef..a859011 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -777,6 +777,8 @@ # # @wr_bytes: The number of bytes written by the device. # +# @unmap_bytes: The number of bytes unmapped by the device (Since 3.0) +# # @rd_operations: The number of read operations performed by the device. # # @wr_operations: The number of write operations performed by the device. @@ -784,6 +786,9 @@ # @flush_operations: The number of cache flush operations performed by the # device (since 0.15.0) # +# @unmap_operations: The number of unmap operations performed by the device +# (Since 3.0) +# # @rd_total_time_ns: Total time spent on reads in nanoseconds (since 0.15.0). # # @wr_total_time_ns: Total time spent on writes in nanoseconds (since 0.15.0). @@ -791,6 +796,9 @@ # @flush_total_time_ns: Total time spent on cache flushes in nanoseconds # (since 0.15.0). # +# @unmap_total_time_ns: Total time spent on unmap operations in nanoseconds +# (Since 3.0) +# # @wr_highest_offset: The offset after the greatest byte written to the # device. The intended use of this information is for # growable sparse files (like qcow2) that are used on top @@ -802,6 +810,9 @@ # @wr_merged: Number of write requests that have been merged into another # request (Since 2.3). # +# @unmap_merged: Number of unmap requests that have been merged into another +# request (Since 3.0) +# # @idle_time_ns: Time since the last I/O operation, in # nanoseconds. If the field is absent it means that # there haven't been any operations yet (Since 2.5). @@ -815,6 +826,9 @@ # @failed_flush_operations: The number of failed flush operations # performed by the device (Since 2.5) # +# @failed_unmap_operations: The number of failed unmap operations performed +# by the device (Since 3.0) +# # @invalid_rd_operations: The number of invalid read operations # performed by the device (Since 2.5) # @@ -824,6 +838,9 @@ # @invalid_flush_operations: The number of invalid flush operations # performed by the device (Since 2.5) # +# @invalid_unmap_operations: The number of invalid unmap operations performed +# by the device (Since 3.0) +# # @account_invalid: Whether invalid operations are included in the # last access statistics (Since 2.5) # @@ -842,25 +859,25 @@ # Since: 0.14.0 ## { 'struct': 'BlockDeviceStats', - 'data': {'rd_bytes': 'int', 'wr_bytes': 'int', + 'data': {'rd_bytes': 'int', 'wr_bytes': 'int', 'unmap_bytes' : 'int', 'rd_operations': 'int', 'wr_operations': 'int', - 'flush_operations': 'int', + 'flush_operations': 'int', 'unmap_operations': 'int', 'rd_total_time_ns': 'int', 'wr_total_time_ns': 'int', - 'flush_total_time_ns': 'int', + 'flush_total_time_ns': 'int', 'unmap_total_time_ns': 'int', 'wr_highest_offset': 'int', - 'rd_merged': 'int', 'wr_merged': 'int', + 'rd_merged': 'int', 'wr_merged': 'int', 'unmap_merged': 'int', '*idle_time_ns': 'int', 'failed_rd_operations': 'int', 'failed_wr_operations': 'int', - 'failed_flush_operations': 'int', + 'failed_flush_operations': 'int', 'failed_unmap_operations': 'int', 'invalid_rd_operations': 'int', 'invalid_wr_operations': 'int', - 'invalid_flush_operations': 'int', + 'invalid_flush_operations': 'int', 'invalid_unmap_operations': 'int', 'account_invalid': 'bool', 'account_failed': 'bool', 'timed_stats': ['BlockDeviceTimedStats'], diff --git a/include/block/accounting.h b/include/block/accounting.h index d1f67b1..ba8b04d 100644 --- a/include/block/accounting.h +++ b/include/block/accounting.h @@ -36,6 +36,7 @@ enum BlockAcctType { BLOCK_ACCT_READ, BLOCK_ACCT_WRITE, BLOCK_ACCT_FLUSH, + BLOCK_ACCT_UNMAP, BLOCK_MAX_IOTYPE, }; diff --git a/block/qapi.c b/block/qapi.c index e12968f..2ee90d4 100644 --- a/block/qapi.c +++ b/block/qapi.c @@ -432,24 +432,30 @@ static void bdrv_query_blk_stats(BlockDeviceStats *ds, BlockBackend *blk) ds->rd_bytes = stats->nr_bytes[BLOCK_ACCT_READ]; ds->wr_bytes = stats->nr_bytes[BLOCK_ACCT_WRITE]; + ds->unmap_bytes = stats->nr_bytes[BLOCK_ACCT_UNMAP]; ds->rd_operations = stats->nr_ops[BLOCK_ACCT_READ]; ds->wr_operations = stats->nr_ops[BLOCK_ACCT_WRITE]; + ds->unmap_operations = stats->nr_ops[BLOCK_ACCT_UNMAP]; ds->failed_rd_operations = stats->failed_ops[BLOCK_ACCT_READ]; ds->failed_wr_operations = stats->failed_ops[BLOCK_ACCT_WRITE]; ds->failed_flush_operations = stats->failed_ops[BLOCK_ACCT_FLUSH]; + ds->failed_unmap_operations = stats->failed_ops[BLOCK_ACCT_UNMAP]; ds->invalid_rd_operations = stats->invalid_ops[BLOCK_ACCT_READ]; ds->invalid_wr_operations = stats->invalid_ops[BLOCK_ACCT_WRITE]; ds->invalid_flush_operations = stats->invalid_ops[BLOCK_ACCT_FLUSH]; + ds->invalid_unmap_operations = stats->invalid_ops[BLOCK_ACCT_UNMAP]; ds->rd_merged = stats->merged[BLOCK_ACCT_READ]; ds->wr_merged = stats->merged[BLOCK_ACCT_WRITE]; + ds->unmap_merged = stats->merged[BLOCK_ACCT_UNMAP]; ds->flush_operations = stats->nr_ops[BLOCK_ACCT_FLUSH]; ds->wr_total_time_ns = stats->total_time_ns[BLOCK_ACCT_WRITE]; ds->rd_total_time_ns = stats->total_time_ns[BLOCK_ACCT_READ]; ds->flush_total_time_ns = stats->total_time_ns[BLOCK_ACCT_FLUSH]; + ds->unmap_total_time_ns = stats->total_time_ns[BLOCK_ACCT_UNMAP]; ds->has_idle_time_ns = stats->last_access_time_ns > 0; if (ds->has_idle_time_ns) { From patchwork Wed Jun 13 17:44:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Nefedov X-Patchwork-Id: 929002 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; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="K9NS7Tfr"; 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 415Z4L3cHxz9s3C for ; Thu, 14 Jun 2018 03:48:50 +1000 (AEST) Received: from localhost ([::1]:35971 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fT9t2-00063B-5g for incoming@patchwork.ozlabs.org; Wed, 13 Jun 2018 13:48:48 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59346) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fT9pF-0003LE-Hg for qemu-devel@nongnu.org; Wed, 13 Jun 2018 13:44:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fT9pD-00073t-Vf for qemu-devel@nongnu.org; Wed, 13 Jun 2018 13:44:53 -0400 Received: from mail-eopbgr10138.outbound.protection.outlook.com ([40.107.1.138]:47432 helo=EUR02-HE1-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 1fT9pD-0006sA-Mb; Wed, 13 Jun 2018 13:44:51 -0400 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:X-MS-Exchange-SenderADCheck; bh=ehEwT1B0wYmW5QJmKAydy1DSIvVFbb+jguOs6OQpYW0=; b=K9NS7Tfr9QWnXLxMS9OznZULqRiANHXjufqupt5cAIxpX/XpKwHZ0oMvnKBhhAqUGLCa/Rt2x3z6A4HAc+6y0/DfpPbqtfWjf8JA+mS64xKkA80/Bx2ytRE54MnEDC5No3rohF3MoIoT/txNiMqJoeVR9GkN8GvhuUepwaGFpSE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; Received: from xantnef-ws.sw.ru (195.214.232.6) by AM0PR08MB3347.eurprd08.prod.outlook.com (2603:10a6:208:5f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.16; Wed, 13 Jun 2018 17:44:48 +0000 From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 13 Jun 2018 20:44:21 +0300 Message-Id: <1528911866-37489-4-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1528911866-37489-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1528911866-37489-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0902CA0023.eurprd09.prod.outlook.com (2603:10a6:3:e5::33) To AM0PR08MB3347.eurprd08.prod.outlook.com (2603:10a6:208:5f::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3aeb4c5a-23dd-4f95-f20b-08d5d1555c1a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM0PR08MB3347; X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 3:97NQluuCbmpZcWKQcEIW64un32O7I72sOqQH5LbDZ9PM5uPC4xUsyS6e3zs1yOgYFaoVb2uk1hwWvWuzrtpbDaLkQxIPtbDfSZkh9zVfuDiZu5Rgj6Tl53RAfz7NmYj3qm9fz/DkaDew4ETtXHHio8Yqy8wgA5x0hCGjo9CXdYEI5XnNh8lDWK7qjXIK9RC+90SnqubmADheLG9E6WVNjahn6P43T5EIhR/0SIP92f+hYo2k09MQb/VYhTzG8BO1; 25:JSnM62uv7Ge/A7AivtXhxVj4vJKQdt1sWM73mu2eFCyBJGcrADyWJTG/i8Hx++2fD0YIF4q+GkcXbF2/ZiZVXwL5oNBRHdV1BZSrPJVOUrZvp3q3aEMLYFfhBVyllD0JD8CsMi3/RQ3c0TmLtzvhy4cgusPYfwXTVemBmwm3aRYhX2Si7+334Osv6eiceGAjBax9094ivCOp5tsBvw2keHEF64VP4TQoLLX/VsjMdRSMjScBjtt+xKMIOWW5xU6k9XBmUe0axLqwlK/Kpmq7mrF9k1LGAcWdrAtGS586DckNv+T28Y8ly/iIsw6YO25HI2LaX2aProeDMX6NTxs+mQ==; 31:Qkg/6xJDpsUXGXpgIDGACQnyH9zBi6TToPBGhImEW+TFL+GSzYu0UXtQlY7rJtzhe1z7Da8oUS7BUy/Yz0z61qDgRRi7mE0q9kwu+OnhD36dWTshE04Eff25l2ielcPInxf8G8WwuX9XQA93PEDTmjjp57UMm06aCucv14M57XIkR8TRGcn95bNN5tDwt03Ay21dCI2VZI2fqRFaC1z2LEt2h0vC5VjC9dZiOzmqyFM= X-MS-TrafficTypeDiagnostic: AM0PR08MB3347: X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 20:HqtcirzXeEVzmrggc16AlO8RCPWVxXdEho5cbu8rcL8LRr/2QsZ1C1Q0zx/mXj1svOS2ODCJxlwS8xuLvd/OYZuypxVrTMI5DYKR4GJzaM5qBGggFGgzVjKB6lgE1zId9NhCgAnSc+3PDAhavRjK8ydbRqel5P+rMxU1+6xTegTzjnEe9ml4D6b0wik0B/wrVbfNexncqlISEhymdTzGs/onu6EYTYZM+qNEeyq+8G0dCfBrniqwCD1dETL4/LMhdNlUiB69uvqlhSoG0ssbAoizI6sMN4F9uKy1d1rinMiNPWIChlF1kPXO4c0QUZlw0yVzKchRz/uU3GPq0EQKlwuK5EWGpxPeC4Yn9JQmm4+dk5eoiJXtlrP1YDfTGoE01PrQZh59ZY4EAC5i5jNmXUzgvztmwosUsj2Gmt/m/kVCoVMtZn5iqrR/dsmOQK5omxnDPTJ+NWnanyNyOokBMEZZgFHvMAfEQ5SnW3vl0EWu49inUAKAVJzKZU+V9Vn1; 4:KvIRDm0ZDN/5h2VNjLRfaEMD9qH/WXBITPmd5mQyN1tZXdimrx75OhodhBwwtp/o2K3cOCRxbektlR+d5S7OUtxx6O02vEX1Z2JAxB8UD/+SVg5Z/FwPNnoISkTIlvsciSdoqcJTzoBDu1mVJCD6Bx1Oa3EB0dL9Xhv1JWviq9URabysQM92SpwIifSWaV10j+UMPOvkGTkQS6HTThI4boFLmSX9rnM4qACCrUwDgugcUd+8WQDV0njUMPOu18CZ/xmFghyFzeshIwePk8t5vQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:AM0PR08MB3347; BCL:0; PCL:0; RULEID:; SRVR:AM0PR08MB3347; X-Forefront-PRVS: 07025866F6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(396003)(346002)(376002)(39850400004)(366004)(39380400002)(199004)(189003)(50466002)(2351001)(386003)(4326008)(2361001)(6512007)(52116002)(105586002)(486006)(478600001)(106356001)(44832011)(53416004)(107886003)(51416003)(53936002)(76176011)(11346002)(956004)(446003)(2616005)(476003)(69596002)(6486002)(48376002)(16526019)(6506007)(7736002)(97736004)(186003)(5660300001)(6666003)(25786009)(6916009)(305945005)(8936002)(6116002)(3846002)(50226002)(66066001)(36756003)(8676002)(86362001)(47776003)(55236004)(68736007)(316002)(2906002)(16586007)(81166006)(26005)(81156014); DIR:OUT; SFP:1102; SCL:1; SRVR:AM0PR08MB3347; H:xantnef-ws.sw.ru; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM0PR08MB3347; 23:Gpequ20UYmoG0/ayUv8A336VUOeu9jUjyCK4Xj4TV?= OVCE/Pq2oZnii/OOn9BHclQI8ZZ6anYrrWn3jb6sa2hOrKtJl6A7SYMfybzvDfJvXUm7NxhZLd89K/LHV5nFuAKet1nI6qMkoCEsYSSd510uQ1i0K9XmiOwGIgvGS5N9d4SEzliCjMqZONoBsdWROyA60w6UfKHCQoHn3kyHqlj3BVoXxP2pA63lFjMrMJJfWjVsag7zu4Qxu4MZoIeOzXqyQDyFe4KOKb1XYjk1inVXCc+KoNWizt4j5GjovJN+II0m73BJ8RzyaVa9m4/0lmOvrgu/ETGKB3Y6d320aLfCDndQS6spZR4o6ZTIs733IMWlc/Kj/dy62BXfsdCViR9t93XwRXHSGCqKGualb5AsahFN6AXV2aK99/tY9uFDY9wReB6f77XuVg7MkT8p/h3bURovsv06X1O9dSqFhRSgS3UdR9Ehc6UOD01zQgMz1baI8HZP9RVxIOUICHJTTpzCxKRoJIBNr/TpNNOgHLw1OdhNNx20N+G68sNR47SCc3n7e/5Q36z6CzShpu6wBxdso9jtV54Um8dCehT+AfTiL0/JM/Nqd8M4+f0SshqIoBkIYapB17+hrveTq2j96KppHzHGrlrbqldh/vqIKu+/Otwugum7tYln2h7yWtOLnol6myp8pBVQ0l6pteAletHnWNtiWCHW5yFb1o7BLaUefNgc6z336FDMXtEkPAMMKppxGEbmAhYtQaC37DkF9GaZlRuT3mcTGTDq942MQnBXW2F6wnvrpPq/vp2TxnuBjtL/REUfkV64depmyXNQ5dGeUmpMgQ1rM4jplk097z71FaxKrfzflbd215cXQr6IGYARIIpzlj8ivy38uEkDyePHp3HofxFAhmMYK229TdBS7Fa5Vnp33EB3mXMtLA9DA0y+BFoXquOi+hsGWkkTtDvLd2o5Ndxf7ayHuqRXqOgC7Te5B5frD/4I1PRE6nmt6spqe8ZLoTbrmNgOOOXKOAI0bLDkNlL//BfNQHUGLD8DhtQerO5vqHGNGEV9S72cYMbzD1gFs37iTto7N8zAAF5qYJbn8hMAc10pYEj1QMld2CFfUWFcaieF/JjvxlOz3AhwGkrnlOrp3hKlWfjOJXZ8LydMETUqTe4If0RMvTpEmtpwLFhkGrJyNHm2LeGk9RdMZ0jjOWww3H9+gAMR1M0TccV0tYwUrL0B3wMCXmVhvEfE0oYTSgN8FDW88BXA3ut7CCWTyJmUj4osVt/B6HxPM+yb9pUrjfW2ZKiSNvqJjochgl+Lsx5dLV4fcMSuXk= X-Microsoft-Antispam-Message-Info: IX7VdZlIgJoZG0f0zu+rB2R2DEvbt8Eqi5KZEnxwzYrImhf+YPKgT6aLjlQD+H6SUgupd0hJ0E743pNj68fRePzoymiIElBOj7Q0nXP42bpne6vUl2MYmNK86E0hczuBKeNDN9fEqHVAr1/t04n4jGk7oN1DdBFB6qEqHbf0bWGjwYTOv0o1VkAwayRjGXlz X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 6:yS9yToSO790c9Rix9mtFQCYjHrmnXBa7cDorkXUS5RyjgiJ/pZlB1YFwjw85acrJF0NF/LnLvpZEjZXcJnO5flndd+jNw1AuF0vB8qM/mxvPolqTmpwk5ltrZhOhzNWySrux/cd+H4AHBoihhGf+To17Y+cPkHZpLdyQupj71ArtOrqGeALXza3RS1Ekn8cixYdkAYabS+y0x+SgbFKSj+kvogIUtG1IIwTLfppskgtC9/RQneNUUt9mRMVrwWXWljvyEzwONUicCb612Z2gJjeps9Wi6Xz/45RBus01lk5NlPX3Cuuz1OrVLIPmPE13FyD7IC3ys6/w3MXhxk0whip7SNvlJdexVvOjOiHyn79W4JVxaJBWC8QuyM/8tMI80oV8onJzvtVtIXw4Jqe7TiQLlgwx3m18Wera5Ny2iXLpZ4V2U0pH/PNwwILdbGLcoZoffWXENwwoXtZd1sIjRw==; 5:J7Z3kdxlTQRM2iT568ulhzhuwu47xA2RdMARP47tjXdy8R1wyK/rSzn+hMQ9BsPze066QefQ36m6UZSgCpI6W4E4Hw6Omd2Pi5x8f/QlXuxdZi4J96sh1/CCBumLgWS0VvuMxQ2biz/RM/XziMMan+2otuHKFd5Envfiz743BLI=; 24:AQSeaZE2VeIGkbq9dka+K/USAaKlQPapzMgi10Ub8tHkN23l4wxfFBztVSMJF9cBEw6EEBhlJPHFnczjphcb6/WcKi+GHNAOr4vlCUxqW6k= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 7:16ttKl7KLBVy9yb2mXKlZ2SmIUKlFx4dlPiVj07GT/G5gf9HOp3OfPY2BbmAyX6dltIWYReYKmXPjudAiZ88g1V68N9xO+mxycgxm++SJ8RcaUy3XSuGEdAahBFWAeInDiuOB+NJ1kQYK7AN/DV0FKaJIqYCuhXhCaapCJGWNMhVehFVDfH/92ZotV+e+qeLlQ0JeUOus3kGQ1orFITQFKjD9LWzXoHUi2i86EzQATNYxItLPoQuIwieq3caT6IH; 20:cPBC4en+iBmhvJ/uqXf8oTbs97x+23l3HHSiZ8r/XxCzlHf7WNEfWrCI97eXUBwlf3/RAHSvqikpbPKhmmnSHkbtTQdHjPkDMVWXADnW+l/jdR95ieIyf2NSO6dBFQ7RGvn2Q5N1/jc+G9M3wddvJIqw9MNe+wVyJ/cdpTx+9xU= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2018 17:44:48.2983 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3aeb4c5a-23dd-4f95-f20b-08d5d1555c1a X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3347 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.1.138 Subject: [Qemu-devel] [PATCH v3 3/8] ide: account UNMAP (TRIM) operations 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, armbru@redhat.com, mreitz@redhat.com, pbonzini@redhat.com, jsnow@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Anton Nefedov Reviewed-by: Alberto Garcia --- hw/ide/core.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hw/ide/core.c b/hw/ide/core.c index 2c62efc..352429b 100644 --- a/hw/ide/core.c +++ b/hw/ide/core.c @@ -440,6 +440,14 @@ static void ide_issue_trim_cb(void *opaque, int ret) TrimAIOCB *iocb = opaque; IDEState *s = iocb->s; + if (iocb->i >= 0) { + if (ret >= 0) { + block_acct_done(blk_get_stats(s->blk), &s->acct); + } else { + block_acct_failed(blk_get_stats(s->blk), &s->acct); + } + } + if (ret >= 0) { while (iocb->j < iocb->qiov->niov) { int j = iocb->j; @@ -461,6 +469,9 @@ static void ide_issue_trim_cb(void *opaque, int ret) goto done; } + block_acct_start(blk_get_stats(s->blk), &s->acct, + count << BDRV_SECTOR_BITS, BLOCK_ACCT_UNMAP); + /* Got an entry! Submit and exit. */ iocb->aiocb = blk_aio_pdiscard(s->blk, sector << BDRV_SECTOR_BITS, @@ -845,6 +856,7 @@ static void ide_dma_cb(void *opaque, int ret) } if (ret == -EINVAL) { + block_acct_invalid(blk_get_stats(s->blk), BLOCK_ACCT_UNMAP); ide_dma_error(s); return; } From patchwork Wed Jun 13 17:44:22 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Nefedov X-Patchwork-Id: 929000 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; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="Z+qOQz3e"; 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 415Z0l07xPz9s3C for ; Thu, 14 Jun 2018 03:45:41 +1000 (AEST) Received: from localhost ([::1]:35951 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fT9py-0003Lh-3G for incoming@patchwork.ozlabs.org; Wed, 13 Jun 2018 13:45:38 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59349) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fT9pF-0003LF-IS for qemu-devel@nongnu.org; Wed, 13 Jun 2018 13:44:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fT9pE-00075g-HG for qemu-devel@nongnu.org; Wed, 13 Jun 2018 13:44:53 -0400 Received: from mail-eopbgr10138.outbound.protection.outlook.com ([40.107.1.138]:47432 helo=EUR02-HE1-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 1fT9pE-0006sA-8F; Wed, 13 Jun 2018 13:44:52 -0400 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:X-MS-Exchange-SenderADCheck; bh=UHgzfHYlMbyk5Bo1miEXBGJ97bmZHE2eX7x6Ly3MZgo=; b=Z+qOQz3ebVq7UQw2je23n2++st0Ude7myrwWsGtjcp0O+ih+tL5hNag6+Jh/PJSnU4WxFM+SKEcmAvj3jDB4BolGGFNHPBx1i9ODgB0HTKaLK40a16QvXboqoTiaSZ0Y5A8cnj/etH2YODkKpHavao2nd+5MkQOVhFjVbm4c7KY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; Received: from xantnef-ws.sw.ru (195.214.232.6) by AM0PR08MB3347.eurprd08.prod.outlook.com (2603:10a6:208:5f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.16; Wed, 13 Jun 2018 17:44:49 +0000 From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 13 Jun 2018 20:44:22 +0300 Message-Id: <1528911866-37489-5-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1528911866-37489-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1528911866-37489-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0902CA0023.eurprd09.prod.outlook.com (2603:10a6:3:e5::33) To AM0PR08MB3347.eurprd08.prod.outlook.com (2603:10a6:208:5f::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 084237d8-61d2-4b6d-1bed-08d5d1555cbd X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM0PR08MB3347; X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 3:VToX6Aic9lKmsL3+7s5JQvg9wt5Lo4sEzeXWtSYmouczfsnSeDvUn1d4Qkjb6+anM0/lL0Yx6Enb1JT4NGKlBjtNIPvjG30N2BVmvuvRKortHDYvUyYprqfvPYpSbhBTYLy0/Rom3h4YoWemVO3Qg49GCcftAIigCU1cxOxb5e1hQuLJXCpsISdu8BDsdQSQslVA8+Q+1pqJnGRfpixR8U9asZ7hQfOqJwaYCD6Okry/Pn+BNKxPBRklDOf6cBPv; 25:pBfoZD61TTBuXXTrNs4JCY+oF5d+OfV8bFFFU3qt1CMQWNiTg4Exry504hfYxbTEwzR8VBpSsufDTizrp4VUi/WX/JLIKvFdMCTWlZPpWPUKqcymU97ysav1HeauWNjZebOVkPQsmVAtoKTDG77EDctxcX5kGF0SptHjUgaibiFQbn5XWB0fbTtaTsElxiROXbEfUmQ+b3RYeZ6Rdruy2shNsequHkOVB4NtefGBEW+vIwYFteHVKAPz4PebjUwm+KvRg8q0K+qofo5OcEP76yPpDED2RkbTSDsWDTOa3xx04Ke025sKoQd6Z7n5mmU2oJLsPQIEkCuAKPIGFLaDlQ==; 31:oSxAC7m6V8dVGMwJ4djIe22ysJCRXeo9Ukz+ke5kFqO9msZvd0ai6mAQ7KqEzcGaj9bFl6phyfHAkml44xlm+CRL/RZOr+DzmfUlQjznYz/sBYSuXspEbK35oHkF9n2swSnxynmVnWCO+dn7zwaocdXhbGY+I3cQXA3Uiz1gjg+/T+ULcmqMOqqGwaL1BW6v7yluYodERi8i4AnqKAUMqV2od6cweMeaABywdmeLjWc= X-MS-TrafficTypeDiagnostic: AM0PR08MB3347: X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 20:0azQ8Lqddpz3Z5U61rnz4EEQLGKCvRVyTp4LV/qazfQoEtuYrW4MO6Hw0d0ZNPqQTwD84XOaQlQ3lh3YPLwXyME9nU9NQ0yWxfjtv3pXLcUuKvc2Z5ay7YZ966H8MjVRCHnlMbV22+U4ukQOVY4pFGCAncK8XR+y9+L8Ozib7R2bT8qED3gwksd0+LjPZMQf/hle4et2UzzIyk0D969828wjcp8SK6kJhqmMSvZR6AruDS9VSdgLY1Iy1FRGUW9iwDnLcQefmsh8L2ifmqbD046tb+lfzHPQCZYZKwQj8qUv4MnHebGFraktZP+OAuQMks/GWqME+RjYPMaSIirXSI9H95MOgE0WV7YJYWaUD0JjZRYn0y/Tawac+WHNYbljxzZSfmBN3LapKRjCirOTvtZf91hOHqaa6TjV1tuxyr7E2JCCpae+IoqYxasMnkMwYTSyB6tuN4Rio65QG/0DROWeuEsgc4bG8chJRBdzVaRKTGh364SJfWBkfSbcfYfD; 4:OBPRWIL04+wvZ/PMcyfZpCF3/qWyzgj28ZO5gUK8E47imsEW4hA1yIRwqYzTxiKi16S64raQLTC8w3Khw438vDc225iK9qCWUmJat2SQK0YEcKOxgxMC5Bk6YZbUjM4Q0f7Zx2cwyYBLRgAuzsxs+W+fRnxyH/lmhEuePNFCJMLSe0w9Hp5m8KtX2Cifzgj0kDWvBXvfqec4NruJRIlVMsOhZsO4jb6jHxmt+cwfH/udiOzIMyu8TZspPLHo4y+g0udS/YN7yfy6p8Dc3/GwoQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:AM0PR08MB3347; BCL:0; PCL:0; RULEID:; SRVR:AM0PR08MB3347; X-Forefront-PRVS: 07025866F6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(396003)(346002)(376002)(39850400004)(366004)(39380400002)(199004)(189003)(50466002)(2351001)(386003)(4326008)(2361001)(6512007)(52116002)(105586002)(486006)(478600001)(106356001)(44832011)(53416004)(107886003)(51416003)(53936002)(76176011)(11346002)(956004)(446003)(2616005)(476003)(69596002)(6486002)(48376002)(16526019)(6506007)(7736002)(97736004)(186003)(5660300001)(6666003)(25786009)(6916009)(305945005)(8936002)(6116002)(3846002)(50226002)(66066001)(36756003)(8676002)(86362001)(47776003)(55236004)(68736007)(316002)(2906002)(16586007)(81166006)(26005)(81156014); DIR:OUT; SFP:1102; SCL:1; SRVR:AM0PR08MB3347; H:xantnef-ws.sw.ru; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM0PR08MB3347; 23:pb0MSxFGk0eyeBXnp2qEvq1qtiZlUSfsmOCoWywGa?= Od2F2CGbsxspqJ/a0CVPlg6dDJwYKyeIuaTg+eFYWv6FhhDS3agE4AtARPJY2KlJS1Fy9F1RNk29uD8CNRizxYbuevREVZ1YS9XhLQ8ntKpXiH6BGDGV4E//rvawRMHYDhySoT6Mg497HvGl8eDjJ1UGq0XXikIg0ppYBJzfY9P7X16Qp6vdistlMRRVFHIUHyk6sbpU4AwQ0hQAxtOGvaANkra/9bpE4pvxwHO2s+7O6N/c+x/Z2+/0xwZzDBGEXit92zTq00Gvyj6jHdgCRwV7lrVq3oXMbtJf+JWX9OgtLfah9mhBWOpSdqTSsXXz+1BZx2ymDPcHi8N5+bghiap89INvd6mcIRdgEUHSDX5zl3Zh2gGJzKNNGu7bwmVsHkxykbpI67juzAo6fhm0CSJi6qrwfBYp8srly5zSoGVWiFpcFzf9MMWuHr/pmyMQKbnCocNomUmw65rawvTbXMOKMtfL8trt9RzvUJQw/m6l6cgGySjrGL095UaV/blNeDaQ/drMN4JpEKuZDPXUDIVB9J3mQ4Bs2K2Lva0sOHsqp2iIrh+zQNEfCQBR3APqr5j27w6F88hBJ59rPNjo3vyjvofDiIe7PORfWKc/7rPFDd3M810ihw+lYxu45nawmXYcnf6tdM8XuZtCEWkB0slBsBY4z8Pb1b6/rMhi3C6y3ynqhaPPn56C9LjsTIos20xCqz4jOaxtnZA6v9iYFqiZtZTtnDQM9n479mCC72l3I3MmeAFqn9+3hXy2tAGyRZZw4CEyXhT4GP7zQU+0iDtvOiDgx9ZjQ/dQXsmy4R3aqo/LDg7RCYh693y2/6E5yXlT3HAcdrFHWXSSmkGaJ5WTTuP2oUBLZB22vk1mGPMtCVdb+v8Aj1SpbE08pQj5UfA28/ViSbMue5RR+aLPY7KPfWB8yiavfemojfAg1BlGoc9e2B2UQmPwU41/thq0fCBT/HHqiqFfxMNjCLFT3fPftwbNntj3L/RGbFgW6iGCj4Vs9ALFYu1vV1+/M2EXSZ3m+tYMdFmd2SyrHWK51ATcTrT5iBdXJPW37Rk4IF6/IOIDcOgCHTID5LTny16MssPP+zejQ84CVW7lB6LZ6jDKRL63aeqsh5seJCWP8mnRiH9ijBziQkzwaW9YyIKKCtDsvoSawU8h/jd64i2lXyj2PFw1B+ENOK0rjbtRWsJJmLO3F6Uf6yNNiNXgXAWzgdBPlHs+7V+LN+BFhe+QH5AIQRrOz5jT1px4hOwSR2RCB3pr/oDpRRNjdlTTNRdSt4= X-Microsoft-Antispam-Message-Info: BgJRp8+ic9Gl1el37VicC9Ygotsai69gWD1ylOc+6Fad/D32aOEvfa10FwcQibX+ht7H5DgwUn6xWF/gA/nQ2hZEAW9mi+817bYF/I+VXODExoFX5t2yVE+siTQkkQ63kKQiBUFiIDh6A03fS8x1wfJsdgBXFN7W5B4nZVBynWHZqRkjjVk/4/gG26B/B2nq X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 6:+0ebtyQf8urLLary8zMoFa3vX7Mi1/X4j5YpjsjlEe85+y9XsJhCEXsBvKExw+H7UmYo3nzy/8eV0hN+VRCyfzfI6qygLJVIapFz+7VBO2A1X7U1FnW5l3sTGW+Dh0t+GbYRaAGHlnSkbz1gS06xvbo+swekjRFFO8kthCN05kcI5v4k2uUW5M8omhDKgF8Ba7f+3WgG0U9IovmE37FyMMRwHGacNvnKSYixa5kM7sU/V3DdxNO/NobOsjBc4DIPlmZ36EhS3G3HMf+Uv0SqHpqwkUAJqUNV+Fya0/Udo9ZQGTZfDdpRJPR4XtGHgU1AMxMJE9ZMfi5aAVscIvVY8gksJPFr3pGDcQA3F/lGURQKqYgKZ6J6v3M1gjWthzxhVTNyohDdWVZrA+tO9vgnJ+9AmUTzBA9EUVX7IPFFlkdmSE9i3WxU6G8Xe3zeOEOnY/T+CMLCrDT6IZWM7sHpkQ==; 5:71EuHe6v7tOo/VkcnPCGIwy1In/Freg/DjO4IyCezAxpwB+ZcN5WUPBDtOIAw2dbabeGW5sP2/2MA2XeGAtbWPOp6VCP8XMikCCIDyG+eCID4zml14il2rb8Luadjd6xfHanI+EyDFE+5If57tFMF3nZAOAcAoo8r/rbR373Gq4=; 24:zFSBZ1X1lFlNulmoGYoco/187fiJJXiUTCWOtjREtuPP0pMcyzM2s/Hd2KWAaPCFDB1WYoeVrsbCUOVeMHuTUhboZWr2UYu8uaghYryc+u4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 7:s7Am49unhUVFqgIpui6dbg9xxi853Be+ccml//bp0QWl0s6qtCCCR63sEAPJ13IE/l7nmdg5eFXSuDc6Ksc/q/P5eJoX4NY2/+OqfX72J1LmXgstIJHSrjxXRm9Nyvkg6PE4DiRUrzYN4pMcBGB3nGqyiD9WNmsyINrkKhkz02BVgbuQhbYxQJk0dPOtITSZVshbWfTtq3WR+7w9Jvo3fHuW9j9UV5vSx26FDWgk+FJRani6tJQZ+S32lTM3ouzZ; 20:gAl7qvtdfPNVGIngzlHiM5LBeHxgQN0wtVAOAppdwFAx07QjcM454OHo4VxxBJ4SBQp/R690gu7HbMiz28IalibdeFk2dnlHDC+w+biHDzwndFvBAt2U3e9PMIZ1NJbo11HIn8dWO7JnHLYVovvGPsOjN70Hl+u4cNzKgHGhJ0A= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2018 17:44:49.3510 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 084237d8-61d2-4b6d-1bed-08d5d1555cbd X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3347 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.1.138 Subject: [Qemu-devel] [PATCH v3 4/8] scsi: store unmap offset and nb_sectors in request struct 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, armbru@redhat.com, mreitz@redhat.com, pbonzini@redhat.com, jsnow@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" it allows to report it in the error handler Signed-off-by: Anton Nefedov Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Alberto Garcia --- hw/scsi/scsi-disk.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c index ded23d3..b08ce8a 100644 --- a/hw/scsi/scsi-disk.c +++ b/hw/scsi/scsi-disk.c @@ -1642,8 +1642,6 @@ static void scsi_unmap_complete_noio(UnmapCBData *data, int ret) { SCSIDiskReq *r = data->r; SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); - uint64_t sector_num; - uint32_t nb_sectors; assert(r->req.aiocb == NULL); if (scsi_disk_req_check_error(r, ret, false)) { @@ -1651,16 +1649,16 @@ static void scsi_unmap_complete_noio(UnmapCBData *data, int ret) } if (data->count > 0) { - sector_num = ldq_be_p(&data->inbuf[0]); - nb_sectors = ldl_be_p(&data->inbuf[8]) & 0xffffffffULL; - if (!check_lba_range(s, sector_num, nb_sectors)) { + r->sector = ldq_be_p(&data->inbuf[0]); + r->sector_count = ldl_be_p(&data->inbuf[8]) & 0xffffffffULL; + if (!check_lba_range(s, r->sector, r->sector_count)) { scsi_check_condition(r, SENSE_CODE(LBA_OUT_OF_RANGE)); goto done; } r->req.aiocb = blk_aio_pdiscard(s->qdev.conf.blk, - sector_num * s->qdev.blocksize, - nb_sectors * s->qdev.blocksize, + r->sector * s->qdev.blocksize, + r->sector_count * s->qdev.blocksize, scsi_unmap_complete, data); data->count--; data->inbuf += 16; From patchwork Wed Jun 13 17:44:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Nefedov X-Patchwork-Id: 928997 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; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="M1qg2PXu"; 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 415Z0l0DSBz9s4n for ; Thu, 14 Jun 2018 03:45:41 +1000 (AEST) Received: from localhost ([::1]:35952 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fT9py-0003Lx-91 for incoming@patchwork.ozlabs.org; Wed, 13 Jun 2018 13:45:38 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59358) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fT9pG-0003LG-2k for qemu-devel@nongnu.org; Wed, 13 Jun 2018 13:44:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fT9pF-000787-4y for qemu-devel@nongnu.org; Wed, 13 Jun 2018 13:44:54 -0400 Received: from mail-eopbgr10138.outbound.protection.outlook.com ([40.107.1.138]:47432 helo=EUR02-HE1-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 1fT9pE-0006sA-Pb; Wed, 13 Jun 2018 13:44:52 -0400 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:X-MS-Exchange-SenderADCheck; bh=F0/siw/vLk7Z4l9n8XN4BMS9ZQyElRIUfHWfFwE1Gr8=; b=M1qg2PXu2j79F6bGsd+6HrPfaW3slBedO9p7X2zrQM/7CVP1zpJRc2hWbJRmqvBXTbjZ8UxvlqVBWokp0mqgOobPff9mLmyhDEbY2+ob7F1y5apIcQRMTdvEHUf5c1kH/EycVubVWcH30LFlqcAJDApkLQl8t/I53auszDjV2j8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; Received: from xantnef-ws.sw.ru (195.214.232.6) by AM0PR08MB3347.eurprd08.prod.outlook.com (2603:10a6:208:5f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.16; Wed, 13 Jun 2018 17:44:50 +0000 From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 13 Jun 2018 20:44:23 +0300 Message-Id: <1528911866-37489-6-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1528911866-37489-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1528911866-37489-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0902CA0023.eurprd09.prod.outlook.com (2603:10a6:3:e5::33) To AM0PR08MB3347.eurprd08.prod.outlook.com (2603:10a6:208:5f::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ef886275-eeb9-4fef-ca65-08d5d1555d57 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM0PR08MB3347; X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 3:MAKZfKoAr+cybUw8dLK8H8QzqMKUf+tmMjDG9w9cMGA1OmqNjmeZqXrS04v2YXwazwW5+9EFyhC4/lLj1JG8HvHzkVbvppG22x+A5gZsWoy/KzTMPIgenntk6hpevpMFAayBXD6236rIwCTCOf+eQCOlLecF2LWF8nXMwhSUdldUNbswG+IzYBGRreepuSaHEoO/trIv7mHaGyXBdyRB3vagxpdVScPazEArLjELSFFurQiHSnzHJ3q4VysG+lnB; 25:wm1x0FzJGDPgTeiCIWjYB9HfpsPFJapTCoV1RBMH9taEFiYpbKyxyIpm+UffvZgKtBs8J45vOrflxICrZmdXJ08HxE14kdE/EMmIE/NPseKhrbhH353TzOQ3+26iSBk80rk/HesEwNwJRiUofL0owMzpIzGFhhdIbl4S6xbWvJa33c2FnOK9ud5hJF3rSggb3bQjtwXgCXSxDZKXU3KObjJe3iyRs6op2fM/FL6+pT7VTwu9ruetkUliWR4S21IOgumflIJASqielu1GP1qdkMn4kdTIXs+sWJcRrEkhyCNnxS4G5ElnWt9xGAmoFAojT99Fl2t3YG38Igc0iefX3w==; 31:Q1qlWJ8vPFv4k89nEAMTiX4AmDnF5MB3llrRFApDos95oVbmDG1Q9nF/r5RMpNX5bxdOjmOD/yzmmNr+9HqCHjpawVMBlsCdtW68rySWFx92K5anTG0jJGC7i5eo8CYSerFywGVmho6afmLD3c3MXnAQAkjMsuSQIOMB6DbxR7zdP7UqsQtljK9/BCbz+b44ks+SsdnG9xqTVVKa3YIRfOvrA6kbIDjfixYinTEa7K8= X-MS-TrafficTypeDiagnostic: AM0PR08MB3347: X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 20:EsYIrlADUwSKvBRGw77N0+Bnfn6fsVCvTNeyZ8SiIv5MTs6CBG+0suWo7G1iYB4hq1NGV6vCr2yWQr5Yg1SGic38U0j+Mh/JsMdZQgy/sIDk9gxz1L8pHDmUNzPkmlSmquYCfBvtMqjhJVmAbf92X+KIbAVtEhYadK3nhqI6LCk4OsiyuJLkgeeQgwCwZLqmxsG1p37p14Qnz/bRI2Cd810CsqFjfcouOhWMJ0cL1O0Olnil4IkHhjDPUCfB4hb8d0wkNeqD60oSP/kRx064Xy4AQSQSSR5O7FY1cDKXgKvyaaLcatHG6doGO2fBl+pwlx395hY3p2BOF7doH+YVkdDeHGsAHir64+L+9frrxYX0ZBnovcxtPMY/M9zciG3E+OJE7zF6l70uxoA/IuFnGoFgf8CQ0/uca0cejZscMUan+sg/fqnB42bTtg4LNCnkgHIy8f3bYE6gHbyyae7piSw8fY3S7uQie8ET2Id9qEk6LnyavDJHSNxtqthJjs2W; 4:rClswcXi/MaLk4RYUHy1dy3Ga2q4CPTA8nrILwxMt2wIxyzq2yW2DNgWQ2jRt6ZzivhSms+3J95dUV8EYb88Svv/4DUbK+me/dAVcHUPCjULFTzxlJWr+y9rAvC1ScKKphwMd6UaZqxRgYi/iZVpQa8dYbfODtY6RtSV6ZdMK08MEm0rB+NxnwQU/HKkgmQUoKyLH2/yPaKTrfMdqZ5hKJ55MPzaczStySk7Jr6VE4Cn0BztVhzwCeFty0MESYIRjqdPDnCi7lRFpjQ2ZvFc0Q== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:AM0PR08MB3347; BCL:0; PCL:0; RULEID:; SRVR:AM0PR08MB3347; X-Forefront-PRVS: 07025866F6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(396003)(346002)(376002)(39850400004)(366004)(39380400002)(199004)(189003)(50466002)(2351001)(386003)(4326008)(2361001)(59450400001)(6512007)(52116002)(105586002)(486006)(478600001)(106356001)(44832011)(53416004)(107886003)(51416003)(53936002)(76176011)(11346002)(956004)(446003)(2616005)(476003)(69596002)(6486002)(48376002)(16526019)(6506007)(7736002)(97736004)(186003)(5660300001)(6666003)(25786009)(6916009)(305945005)(8936002)(6116002)(3846002)(50226002)(66066001)(36756003)(8676002)(86362001)(47776003)(55236004)(68736007)(316002)(2906002)(16586007)(81166006)(26005)(81156014); DIR:OUT; SFP:1102; SCL:1; SRVR:AM0PR08MB3347; H:xantnef-ws.sw.ru; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM0PR08MB3347; 23:awfME1fIMsJNSx62QiMGZ1xRMa4O4o6CGfZG4I2yX?= YpcdK4uQ7YFe1NoLW1LyzQbBBXdPDXH9QrtHwS8KSNXEuIixTve1MclbKLE+tpaYZHk57+8zoOV+kg3yDBQcWhjlXnwceXCiD10BmaeDzAVLsEf1X+8ZLuNE5GHqQF6pX6/aX54UY3daIpwrG+IqvhJ/XbU9kY6fkVXgQDq3fEa4CGOYV/it17KcKaexmSxGw17URzQRF3fn64DKMPqPygzrvrasmS/Gd3bvUZWGVtNpgraJqPBGYo0wKmIPpGIOVOvVDijxWbvu9ToUnkHsXAMUxlHoV9c6kB+nO8p8UKLMgxUGUEwf7rELydLPOJ0hpWe0m11Jh8EZ/pbEw4cQRFjY1TMr5cNooVSTW0ZEdlSIiRvsWUjM9fVXMHGJMirDbJkWr+T4hNc+BfEm/YMbieYqoW1YEu3uyI6T0metnSNZIuakElt9PEQovjhKRcpwy4oSmkbJd/kNpk3fvs7x+tescbepORWB44G5la8JvY/Ec93NnzVcncX0QGp1TJCYCalgCIgaagqwkWR2IqsZ4B2LGk2ZD/IZDiPCcY4m7K0uh9lje05BtNx7URvFjXMqqo/9gDax0qzqRCKA4StQ5ERpepe2N9ZKWwfOvR8kph8pGxN3ZGc75GLYDihoJDzUr/v64MgQhAJhYQcWdwBDisXhBj+GFJsqoyCZNZ/lkvz0n9/pWE2b7Xs6o5Ot11eGBZ5kWD20B/UaSbAQdLrRh3BrDKM+q5SgbywN90o8wIBnztS3dIhAXtuLHVjiiHYpaTQV+H4nxoolewKw5zehd8CS6jCbHNDcQ+pJZ0QG395zirBo5Ioa1oCY8EEPb/GEgFFVv8zBv4MtZolb1sVsHoHPnCGd9VGSDddarMfsGqcYHrVUCTnSltIIhC8Sj/Ooabtv30n5pUu6cK5dGm+YeV8u5yml+CIdxThAB9EGylys/CVQyNmzJvTtXEQx3lwNVYMMzqJSfxu75RHdkmtlpNE2mUHr0P2mISIkHdhBT/n5DhFuBrn40lry6qxyR/upPd5m/hOkt+WNLooVF0YLW5mS5UeIAoUqv6P5XkiCnz3VoaE4KuHKTE7XXcnSh2E0/JqFOHmrN2lz32Y3bdW9H8CLYm44rKultpDiafnOqiG4luIW68OHr8DpXaL/2fc+XGfwtbD1QE58hUXHoNYjH6Daa8x+2Ph52hQLMOatLLgD1NCEW/aGPg+SVxArLYdg/tEon5ecqCwQRPM/+c2tm9zvQe1LRH04MlUZdrknZNehm0HHJowhpAQch21EWoBxXS3W9KFIoOPggW6q7rOUvHr1Ys7Psj8o2XODg/8X/qiew== X-Microsoft-Antispam-Message-Info: XTp2bzZvLWZVzkrMekgY53mTS6Vsvo91793gvw+mMoOBDYK9Yn2j0Ixk8LjgSII6LdEcEQ0NyJMAl1KUdRK/wXF0ZHxVKsY8DWJeIy3FQgTFpx0ifOoWr4elO3K7kMnXGa+V44XfZRttxQOTvZ+md/JlfRfV66m3fx3NbRcg7aMHQmOArARpxyujgnmYOE+j X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 6:GlHYWhz44pAX3xRGoKScY7xDD2qnVcXxB6EVuFeGuZSO03jO68FGxgPpYXKnLupECTgUOlbnKYZ/WSPtdw5W/BVR3AKJqqUiH/+l/h8VicrjYO/o5F0i+/RqqdqxJrQiPPExx1udKb2ADF/k+Cm5boxFTPWVRZshXeHauPH6r3MyEo5LPxD+SUBFfPLdF6CFJcApUVc8ycW1Mf+mHLdPfwCthDuKVGPp2zpMdjehPS7as4JcxpAQYqDhslAUpNpfMCaqP6UkSnXhgtB/zA+hBi7zRTfn5RUlrTh2vSV/SVXks4zzBGAa4kFjLguBc4RZo0JuTZzFot65rkZWYhjSsW9Te3wM5t+daOGvuDxd0u3F/m7p4M05WlfXWZhnCFg5A5oGKVKFiBmWVl+77POnFNP3Y9sdL+njH32PcphIpyga8VECAIYUhYme7fAQJLh0ceTycObBzEbkSBOrEUscUg==; 5:9PBc0gu7/upUO8ABzuGhH9Zf6nwYc2nBe/NVU6NPc8KdUSMJjBrE5QjRTKPQH4e5dyer42TwVAw2CKPrCypyLQe4dKq3M2AQU0a7+MF1aT9L2AjzB0B1FKgXIEFso/oj4D6dWjtjkIYcZBxL3vt4K88Dj53bxJflnN+Klp+uO1A=; 24:oNZCR9Hmx12/a1XfZbudiz6wRMh9O7yMp8GlN51faAc53dQZGhD3uV4LF9MXld7O11VDIv2B6Bl1XDfLcsXiG+PE3Am81rmBe4FJvxRCDvk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 7:+I6TBqBLJeEcz1l96weaCBTwHJ8qGlAwBiAK/w8LrSW9GD/XtSxOY/RiDbQvEJkXpD5BPA3lAV2zmJu7+IDbrExuzKFoLRqJ9NuhdJ22feA3YVGqUKWQi9Jhmdh1RNA70UFCMzbN8Ci7xkZslmxc6vnvoDS5+B5CREjtnncKHQZmRiHabltXzAajYxGZ8OEo55gzXrESyCuI6xahIZaTTYItLAhyzj3ydFY78fQVZXLk22mJ/2geIJCKOJ8hEKzy; 20:DUAoo1TPG/IMdFh6/zdkF28QU80BCkukwvBt2LHcgPlS//XLnPW0oqVFviVvPY2xSU5amHX7oiD0a9JomaPOB/kee2S5lLOQBRlD9/7uNwGuGHUCxWf07ZEaBi3sT3g2FrZ0fx2TgXwQAVl6pcWjpo2b/JRdI6mUkS8uX6PpCTg= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2018 17:44:50.3767 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ef886275-eeb9-4fef-ca65-08d5d1555d57 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3347 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.1.138 Subject: [Qemu-devel] [PATCH v3 5/8] scsi: move unmap error checking to the complete 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, armbru@redhat.com, mreitz@redhat.com, pbonzini@redhat.com, jsnow@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" This will help to account the operation in the following commit. The difference is that we don't call scsi_disk_req_check_error() before the 1st discard iteration anymore. That function also checks if the request is cancelled, however it shouldn't get canceled until it yields in blk_aio() functions anyway. Same approach is already used for emulate_write_same. Signed-off-by: Anton Nefedov Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Alberto Garcia --- hw/scsi/scsi-disk.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c index b08ce8a..0b68a8d 100644 --- a/hw/scsi/scsi-disk.c +++ b/hw/scsi/scsi-disk.c @@ -1644,9 +1644,6 @@ static void scsi_unmap_complete_noio(UnmapCBData *data, int ret) SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); assert(r->req.aiocb == NULL); - if (scsi_disk_req_check_error(r, ret, false)) { - goto done; - } if (data->count > 0) { r->sector = ldq_be_p(&data->inbuf[0]); @@ -1682,7 +1679,12 @@ static void scsi_unmap_complete(void *opaque, int ret) r->req.aiocb = NULL; aio_context_acquire(blk_get_aio_context(s->qdev.conf.blk)); - scsi_unmap_complete_noio(data, ret); + if (scsi_disk_req_check_error(r, ret, false)) { + scsi_req_unref(&r->req); + g_free(data); + } else { + scsi_unmap_complete_noio(data, ret); + } aio_context_release(blk_get_aio_context(s->qdev.conf.blk)); } From patchwork Wed Jun 13 17:44:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Nefedov X-Patchwork-Id: 929003 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; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="buI18Nul"; 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 415Z4V53nFz9s2g for ; Thu, 14 Jun 2018 03:48:58 +1000 (AEST) Received: from localhost ([::1]:35973 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fT9t7-00066e-4F for incoming@patchwork.ozlabs.org; Wed, 13 Jun 2018 13:48:55 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59571) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fT9pN-0003Qu-6Y for qemu-devel@nongnu.org; Wed, 13 Jun 2018 13:45:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fT9pH-0007F0-Gu for qemu-devel@nongnu.org; Wed, 13 Jun 2018 13:45:01 -0400 Received: from mail-eopbgr10095.outbound.protection.outlook.com ([40.107.1.95]:27040 helo=EUR02-HE1-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 1fT9pG-0007AL-Vd; Wed, 13 Jun 2018 13:44:55 -0400 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:X-MS-Exchange-SenderADCheck; bh=14aCL/lbJZM7qtcl4+wDBCEQcbvz3lVcxByqTagh12k=; b=buI18NulGy4alzq1b+34btSlSRb9wacUNyfwxFcona6uYybK3tRs4INEJI/jaXPAb1Iop8QnJbUv64X1rx8ilcsWq8zbOf9IdGAsB3dPBlwXBaEvCHloPtNAyLduuf4H3XZLC9XT5nhTWksoXvkmWFP57H9w2zEgUaqPQBc+ZII= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; Received: from xantnef-ws.sw.ru (195.214.232.6) by AM0PR08MB3347.eurprd08.prod.outlook.com (2603:10a6:208:5f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.16; Wed, 13 Jun 2018 17:44:51 +0000 From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 13 Jun 2018 20:44:24 +0300 Message-Id: <1528911866-37489-7-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1528911866-37489-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1528911866-37489-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0902CA0023.eurprd09.prod.outlook.com (2603:10a6:3:e5::33) To AM0PR08MB3347.eurprd08.prod.outlook.com (2603:10a6:208:5f::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 951804f7-dd5d-4fa4-fff5-08d5d1555e26 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM0PR08MB3347; X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 3:XK5Snfa/ef/J743r4snqsjoqmgTBXzIb8RX2duFwl4bY0ly93scIQ3e8INbwM4r4hpVlmuNZlcv2EFp8oKTSVfhX2qTiahaaUd76x3ctWaaOQNYJ8ZmsKd9S6D96toBuJKkSSEiwYzBGRjs59fJ8BzuOu2YKhPMkIhq3hEmdo7XQHadZ91wUX4zZ/M05gH7OsjQmECtUGugaotAqXQLOQPYcP4+j1CVW3GjOhEIb6iv8d4hTO1BP1WDTsrZYTOVM; 25:d9m5vKWvjj8YNIo/aFJM3b92DlXYCK76oxhUw0Mhy2EdBqzxc1BpIxo3GWEENZqzqDnVBovFFK9RaX9WT0KzYvhZhkhqKPuN48tSSYy0OPo9HaO6OL1W4pvRGa2DozKC4ATWXCr4gZM6eWogy+FhvTghr98LvV7WDn6W0fV3Bs892v62rD4/4BkU82Zd9rCrLPOkzn9207vNt0+J2lwlQ8DzzMEm46BzPGv/FDVtI3FyXsw2wn7az6dSIXWzTM/TO85aC54Gu8O9phLT8fBlDWJEiEHQhIyW3ZF0/qxCcCzD7OvhA1cMlkTFPlUw5x/KEl19IIiiAmZ0tGjjz1TccA==; 31:RSp0zqMbZPx+RPC3EdmzNSWijsHq5lr0TCo87DGiF4HVe+37jjJZsokIi8nVTCEEOkcxoIdaDcInB24KmtD/IC7khrflTU9P22e5QJvMgkuxKMdHWmVvtwnCSWAI0Vuf4TuHME4jn//64aMj0urzEX1lwzXoGGkK+xWGG+1AhnpFtnKdA/hybFFcEOcGUBa1YN8R3f51MFmbq9gVnNNNsDQ7oyXs8v4/mM5ynco5x7w= X-MS-TrafficTypeDiagnostic: AM0PR08MB3347: X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 20:xGQYmaPWmSTgZcvx0iB2lQzA0shKGT/BKa15K6A6Mzn6N+9Qk3R6PAQVDzqFOPrWbabnj8xho5KzyXvk1we+AzMMAaGGtk6l8Fl6Pq16weGrt8FkxMjCxeFWsN547tahlzZnQon2FLhK8l74Sgmi83HSg7+vX73GUyhFa4aVn+9RFbJoskr5T2ojS50UTPUVFjyH2nGQYzOXV3RU2Z6GHLMLca3d7AAhYXrfdTeSBnLd7rEKW23m9z1VbzqYx5pf3ReLYEiTpURAMykE9K9Gj/jd/5BaOBoH92GTxTkSW+jfselGudWJEokRjOzyTqiBCy5W5hVByx50ilwvuyoOEa5YM5Q5MvES443PWG5efEDrRKeqqYrAca+AeN92Vt04IvkbKSodPH/nI62nsPzTW19uB+q6iMqy+qo1OKC8im9rT48AuXKwe1lC8UV8wa6Q9k/uALtU9clS53BpkRMGgznWjGo0LwFwnpyd3r8cyNQLREJ/Lmi7gLYlqdcJIjX9; 4:gIO//X+ZoXw3bbO/IE3zt4bNV/MXrg57zIaAhjuqvaKqq9MVEOKPikeJ8kApDaZ2irsqWEW1twg0JUvKeang5lvGPxHdkl2Telg7hRp36+khOyZPYolQW24hODF2AWsncqGh2ywtZ2hrH06XnaY9AxdTfErW2VJd9VQeYurR8sF6YHUGouAH9i05sP33/+U4Cr5MkK3sJt1/V22mJWtTk/SxkKhIXO1gJa4BmWA1ojIqjalxq2OJ+Xw+4lSHyEcYzYqkHMgXFPM7hNZwoC6KMw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:AM0PR08MB3347; BCL:0; PCL:0; RULEID:; SRVR:AM0PR08MB3347; X-Forefront-PRVS: 07025866F6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(396003)(346002)(376002)(39850400004)(366004)(39380400002)(199004)(189003)(50466002)(2351001)(386003)(4326008)(2361001)(59450400001)(6512007)(52116002)(105586002)(486006)(478600001)(106356001)(44832011)(53416004)(107886003)(51416003)(53936002)(76176011)(11346002)(956004)(446003)(2616005)(476003)(69596002)(6486002)(48376002)(16526019)(6506007)(7736002)(97736004)(186003)(5660300001)(6666003)(25786009)(6916009)(305945005)(8936002)(6116002)(3846002)(50226002)(66066001)(36756003)(8676002)(86362001)(47776003)(55236004)(68736007)(316002)(2906002)(16586007)(81166006)(26005)(81156014); DIR:OUT; SFP:1102; SCL:1; SRVR:AM0PR08MB3347; H:xantnef-ws.sw.ru; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM0PR08MB3347; 23:SrfUL3d7cIlNNtNhYFweG6jrIPso4D9mtyEHt8Hxb?= be1MWnyQSBMZVEWX9bzjo4SNiBk51kcfxYZ+pxp3FTc+u85QTInowchE4A2C0/eDKB1xY8XBjmn5KmZpBE9DxltPWhiAeuJNvBJNtazxXVPgc2StBIBDiYaXpW8cZiCedqlnvq7cO+Q+Bxkqxv3F4i9ViS1oZR2eFZ1W/uL4Iqa30zBak9s09xrOsN6zbL9PaZxEDlJEjd/vU4aMqLO/yc6Lg+tCkhH9S2NBmpnaO1AzL0jcxjFCovHkJPSn7onOcV4okNDm92xn80ZG3lHMEwobdtRZoYTECR1X2x/ft4K/cfNZn7DEaFJUrELrpOvRz8pi1hdUaVWSPAb3Ql9YIctOJee+3L7qDb0HakDGK4dcnIHFYIY5a7bgPQn1Z/Ej/ZDaLt8xO5ufuI2xAex6HOQ2JnRw8MOQlha1CR+hGF/xgnGltGDwXUm1c5RwKa7A0Wm3sMGH2L8GFeF1ZB/wKVD4cERqpMwgpcKrTBFtr1qxwRGMldMtB89aY87GtRnyvTMHjnxw+wXG7HlpUOZjP7TTJwG5QxYjDrkOLpm0bn8FvxUOGQNCedu8rLChGEhjmujyJGG9OY2+9LA43hW+QLvnRB5VG+UcxR46J1SmNovOeszcWCWM0haNbBpM9pL44FUNd1mhzUv6bN/75/gRKkcF4cNmlqemyZi7h3v6A0Eoontaj+9+CpwYUeOqA5Kkx/yX/4Mt/SENJLXWvcScksCB6IurJo17j1q+HqNpGHAq7dbR0uNGIRKcUSmFe0r6b6KtIdLejcwHl9X0M+2ia/HbIcfPQFUaobXgFNOhJ0W55cR5jyjyinzdSiFs9f4HB+45mcTsJVCOBLrzcNY/VyRedDrOOrNxegzx0KllRoosadt2r/cwX7dFHNBDab46/cY+/t18Xle1e5l8SEbx6wkt81ZPju7CZkmSbYy5FAszf8V4VrOZagorRVWWntHbiWZnE49hKY3eGwM3uapbYnOvcVPk2iTH2fQk9Hc9uMzhEdbCJ1C7ElXCecNX/AnI+Ao/mQtH+wPVkM701VKg/0yREkn+YnE58SgiNJHZuIm1aZJV+tQM5otql7zCcJmV6U9o8W4SftWQG3BF1wIZLAKYe5JXTHpBi3dD8xPO+cUXt5mNgnNej2hKg/Vn9kcfjKR7vD66CVRuehhxejVUqocpSdl3FsM8KNAuwsUWugULlzQ8gQb31Nh+kvjYMDns+ZPlx3de1hrjmnFierfEJqLqceD/iftursjf9ug9tDuoTluKYNeiAUAz9aETC639qoCIwrQLSDrZyhsG4EOBRpMXieAY67ZHxM92BBc3us8tA== X-Microsoft-Antispam-Message-Info: jGV4AMCujDjxqrHTRXYjj89t++oRXdYcVqlRy9crdjZkL3P3u5r5C/TLr6BYmZhaEeFHkMMIcAd6Qhl0du5UQOICa8CC4RcwqOaYKSiefs1WEJ5sDYlFbClLMXDaG5xQ5Eqfj4Pj8mVSQUTVudwJBKCRyhOuySOg/WL9NidgXW2AcHG3lAJMRrVNIzpIb9+Y X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 6:if6CMH6ymqXoBM7R0U5ei7C82TM+FhQ3VOOboiIgxuoGkrpNdG+cJwxm9A6R2otQXP+szFS4vlXWy6KZXiilLx+lVFuAhsA86THCU7t43/dZf7tjP9JjtTs6S84Ehki0xtmisuO1bVQ/atKZz1b2lyIgfP6odkbwwbNu99+QiS9iIB/R3JdNvRpZGWO/R/UEtZvPPSpWk+WiLh+936a+UCrFHug9rD9mekR1qK2cfJA5DgvbdtgWPRMlr9A7jah370AD1J8+o16ESHlcpQ3y8ijJBSnESwjFBE4HKVxc1wHi3HcuWMfIMkJpEGn/EMKjdSWlsq6K+mpZyuZAK1dQQYmv3R9Gvr7L/MO+bQU3FvxLcJamAs+twdauRy5EkmKZupogmRwzadFhaRdk6sNrWQ3t6B5snScAz/dQrrr/iI8rK+lZyatieJt5G66UbpsYcjsHVk/7TT4U0zHRlf2fCQ==; 5:gAETiKSQs2q5loThyxOt0msjyHxgKUli5Zhvkn9Qs1dqE71DgS+WtRpTdWJsC7VT0LxZvQiACi6LIVgitt/SKKAxQ1RWVzWTE0oiz17IZ074ssmrG3t55BBLuIk3sOGFkTfyFC9qg2zYnhBExpSeqgk/HwfworLb1RJkJtn+ChY=; 24:+YSE8vcCmkTST1PAtf8HA1VyOmQqqg8psm+TnRu8qJ8dgOq1lVI7LjkVXWcpXtT5E42GMGCC4DwwovtYspZ5xr/8V/oon5v/w7c+swZpQWg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 7:7+syPl+ATmiXgSpf38QZqxp9knF8O1yrQl4lLBSoACZz71gkAcPbTa6dfWcWl+aNIIP8zNLDh14ui/sTtJzTx4PZa2GXZinqIq4w7W7/PjNsd5jqP5eEQ0k0p4P7IJX63+Yi4tbs2bxjy8i/wnmkAdhwsVv/3Ui9yKv8blOlA4usTUc5Ol0ZhQxcW/x5KnHEgqNJh+IHBNIjQnd0VNPffTb4glAM1lzMC2ikm9t/UniLPbUBBogcfLP8nn+H0N3D; 20:ZcmgBoufcg3dDdkLgkGQ5xzidPtiR0g9WjnRd+OAXtktbcye0DWL9mT23HoFCz+SA/E/smeHMSLZ+K2ZH7MI0u8eg/mzl/TsHWeUavE6pLJnTzy+G+wih/G96EayzflL7VH7YCPsGDFWooUJ0jIl71+8VsAKqdm9hsdsqqQdawo= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2018 17:44:51.7307 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 951804f7-dd5d-4fa4-fff5-08d5d1555e26 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3347 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.1.95 Subject: [Qemu-devel] [PATCH v3 6/8] scsi: account unmap operations 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, armbru@redhat.com, mreitz@redhat.com, pbonzini@redhat.com, jsnow@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Anton Nefedov Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Alberto Garcia --- hw/scsi/scsi-disk.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c index 0b68a8d..ed72662 100644 --- a/hw/scsi/scsi-disk.c +++ b/hw/scsi/scsi-disk.c @@ -1653,6 +1653,10 @@ static void scsi_unmap_complete_noio(UnmapCBData *data, int ret) goto done; } + block_acct_start(blk_get_stats(s->qdev.conf.blk), &r->acct, + r->sector_count * s->qdev.blocksize, + BLOCK_ACCT_UNMAP); + r->req.aiocb = blk_aio_pdiscard(s->qdev.conf.blk, r->sector * s->qdev.blocksize, r->sector_count * s->qdev.blocksize, @@ -1679,10 +1683,11 @@ static void scsi_unmap_complete(void *opaque, int ret) r->req.aiocb = NULL; aio_context_acquire(blk_get_aio_context(s->qdev.conf.blk)); - if (scsi_disk_req_check_error(r, ret, false)) { + if (scsi_disk_req_check_error(r, ret, true)) { scsi_req_unref(&r->req); g_free(data); } else { + block_acct_done(blk_get_stats(s->qdev.conf.blk), &r->acct); scsi_unmap_complete_noio(data, ret); } aio_context_release(blk_get_aio_context(s->qdev.conf.blk)); @@ -1729,10 +1734,12 @@ static void scsi_disk_emulate_unmap(SCSIDiskReq *r, uint8_t *inbuf) return; invalid_param_len: + block_acct_invalid(blk_get_stats(s->qdev.conf.blk), BLOCK_ACCT_UNMAP); scsi_check_condition(r, SENSE_CODE(INVALID_PARAM_LEN)); return; invalid_field: + block_acct_invalid(blk_get_stats(s->qdev.conf.blk), BLOCK_ACCT_UNMAP); scsi_check_condition(r, SENSE_CODE(INVALID_FIELD)); } From patchwork Wed Jun 13 17:44:25 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Nefedov X-Patchwork-Id: 929012 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; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="IpkaTyeI"; 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 415Z7k25Wxz9s3C for ; Thu, 14 Jun 2018 03:51:44 +1000 (AEST) Received: from localhost ([::1]:35993 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fT9vp-0008Qh-SX for incoming@patchwork.ozlabs.org; Wed, 13 Jun 2018 13:51:41 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59596) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fT9pO-0003Rx-3I for qemu-devel@nongnu.org; Wed, 13 Jun 2018 13:45:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fT9pL-0007R0-Bc for qemu-devel@nongnu.org; Wed, 13 Jun 2018 13:45:02 -0400 Received: from mail-eopbgr10099.outbound.protection.outlook.com ([40.107.1.99]:57531 helo=EUR02-HE1-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 1fT9pK-0007HZ-Sp; Wed, 13 Jun 2018 13:44:59 -0400 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:X-MS-Exchange-SenderADCheck; bh=XsLE67n6aH7RJirPDl8oeNcxq7ZdPT6IUO6ag67xnOc=; b=IpkaTyeIn/qH4IX9ODzkT0FKkiWBaYp5R+A0VVKqDHkLoYufb2oxFx4TvujyXv8Vn1bqwD/nzV7FNK7+eR25QShU11op836NUOb/8fD6eTqU1bEqEv6LRorcvB6jKrcMK7yOHU9tXG5QcqEyGko6TGUnMICslEE4WWvPLIgb9/8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; Received: from xantnef-ws.sw.ru (195.214.232.6) by AM0PR08MB3347.eurprd08.prod.outlook.com (2603:10a6:208:5f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.16; Wed, 13 Jun 2018 17:44:53 +0000 From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 13 Jun 2018 20:44:25 +0300 Message-Id: <1528911866-37489-8-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1528911866-37489-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1528911866-37489-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0902CA0023.eurprd09.prod.outlook.com (2603:10a6:3:e5::33) To AM0PR08MB3347.eurprd08.prod.outlook.com (2603:10a6:208:5f::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 890b5302-282a-4a78-2b76-08d5d1555ef1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM0PR08MB3347; X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 3:tr7kpkHseMI+Mk/tNFbdYuSdDS4MD4ePnPsSlLSR4/HvkJEP/jJRAM2tim8P0lLRdFzgw7E1Yrjq1EMf522DflwpxbJLRTf48aTYgnRsAKWoTb48EoLjNuWOg5+J0H5V2ed7XieDzGXSZBITjt1d2mOT8I0qQpfSgI6AAc2JhXRIkymB2FXZoL8Z6G8vLo8hBY0fNgSbm04NS3ksu5rL+oLpjIU47bd5xgb05YTTkPjR2S9v3CF0AbRbKhGwW4kg; 25:cLJT1kut1s+DGjQF+zvuowgMMAADBeO33+yfmdTdA942SHPMkhuFDouIKRpwyhT2hUcMh5JOJRZ70258Yn2+HGZxuQc6VMpdXqgAWnm8xR4FBKVDMwD3q7jqTNmm16zWhqIzBn025hSIDq1IdEXiEyd5iVw7G7lvsxBdrn6uN4vRFlW9iCKpfcyiehHFsWYpy9GmuhK1mnzPNepoUh4SRsdeVXG9rqEYWhaPrS20j0+FQltBQLDi18PlUn3YigeOGwYDEKV4O74DMjKkzS+c7D6wiBbsdSLH0x1mYZBVBbv+a+A4JXH+qddrJO7esQMGFYyZ/5SMs2IonngPjERT7Q==; 31:oysWeWLAJKBclrqrAPeT7BAkXsBNhYXycI9Dm+bA+QpVocPLs97ZwPREZnkBjApWYr1aZO768Oe1bBLWn4f8ThF2ytHu3uJipA+ducw6A13fHvczXJGft8zFIPc6QqSx0qZ+nTLTt5PuNmvbn+3hoHXWsaw9JLmahrgmLA40xI6iy9ftq5Qb/BjnHSqkeKTkPgU1f5tBP0F+MYnfqbzM6ZDZdzIT0iufwBaZ7wbvC1U= X-MS-TrafficTypeDiagnostic: AM0PR08MB3347: X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 20:2wqWvkjbSn3NbEjdKwDxnhJcKWs+lyqPpbymb68H0dIeenCnDrOfHkePnV5xMOtyBOjooEXxEOHuPWrgG51p9j1x9V3VEVKjJh//SLQUUOH21f2/iou5CMrSgk7s6ackmto5t3+6aS3JItgwLg6Ow6iYe/suPeSfTSwWtwB5Qmw7ZnaK+TQyIwCnN56ibckOW4QtjDmpabfKRGvpjWioADM4U60wuo4x4Xfomz96kdO0pSyRsXATdAkCNndXcwZl1USYeZQxEDaOdd6uYODf5PjgkBzLLv9FNnDA1aWHGulQ2ljiBtLVkg0EfN7cqT8q2manZ1wYm+1LQFJpeYtfIQhOgX3fa2nrARuYeF3wM24h7pCJBrazp5wHfkbMwOc6rsZInlGiBmjvLG25O8LhRLCJ9xDhEasdPsg6mf/nyqdJ9vhtpbBschxMYelIM1Kc/lefayGqRfgf9HdQ246I3JiMia/4Tua3cF7Cym6l1UFFkNtUHEAqd/mjDowG2yyz; 4:t+YtRn/AJx0OVLD0Pa/sNfUAgoN6AQX4nzxbIg0d+8i7ZPx9xa+sRy/VIv5FB33s3yhMME1CJf16kLD+cu1M0/p89ICMNi9c61X9yq+6J9CGxz8dcCqxf+U8h+wJHC52Y8zUF0gdCxG/M2VJt16l+u7Am/SEJotJWP6FP2q7q2qx6vJeRKO7YXwvl6OlZSDr5f62cFagbiufgRk7zDbRcevDBK+Ee3n2GnUtTxVPJFaOBLITJU2zdkpVN1KdcX0a6oaKuEwslTVCURYKO/Id6Q== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:AM0PR08MB3347; BCL:0; PCL:0; RULEID:; SRVR:AM0PR08MB3347; X-Forefront-PRVS: 07025866F6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(396003)(346002)(376002)(39850400004)(366004)(39380400002)(199004)(189003)(50466002)(2351001)(386003)(4326008)(2361001)(59450400001)(6512007)(52116002)(15650500001)(105586002)(486006)(478600001)(106356001)(44832011)(53416004)(107886003)(51416003)(53936002)(76176011)(11346002)(956004)(446003)(2616005)(476003)(69596002)(6486002)(48376002)(16526019)(6506007)(7736002)(97736004)(186003)(5660300001)(6666003)(25786009)(6916009)(305945005)(8936002)(6116002)(3846002)(50226002)(66066001)(36756003)(8676002)(86362001)(47776003)(55236004)(68736007)(316002)(2906002)(16586007)(81166006)(26005)(81156014); DIR:OUT; SFP:1102; SCL:1; SRVR:AM0PR08MB3347; H:xantnef-ws.sw.ru; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM0PR08MB3347; 23:BUH/9rdmkraM9Ni25DBR47x8yz1mV/e+SiB/e9noR?= ypR4hLDd4gQvXI2dgt7sNoeAuAiQSmRUkQQiEyjABU0UDf+iv/zC80OpIab5jWCku2gQSLt0K8WJP2Y6YRV6KhAlsMZ1lS6v14NvWGSe2olIgnbfVCILS8t0BuDzCrb/hJpx2Jt0uXFf81bT1J2STYuE/I7eMzIVPNpy8LHX50EDMarybznDC4MJe61khzwiWhIX0z153nd5BgsbuHPfS4ptvf2uuIV0vOMnb2dgL+Vbq3XrTstM8Gm1Bck31LwvVOOyz6MXLKKDw8thMDNbo5Ifgk26IZHZjdsI/JFo235x/htpXT57qgobmUnrs4207cnE4O650ifSxer2l8l5jrdmucht8Di2pRzgYBmYLOr7phzbVZaTltP50pFYqEFwwDjSOgtFGYO+O0pgDt7U+Suy7KqUEGP2StDTU68y2a2EMWWYcoElgb0YuPm2ing1nywXNR/H7eoS0+fDUH59I8sjMt16Fm6epXDWBp1apIdp4zuoztCqE1rX7VZ+qjwW92cCPsJqrVAca8Ok5e4e5F5FXxH2l/o46pIh5JAPNb0iBybrh8msXINotBoHyYo9K4YWYscwzcmsS7vyvTri6InNF6mKhSUws3hzEkeyTOF9AdZWIf4ZDeebjzniC3usdHtfij87BO16dhtZ4TF29e8pirSbDrRxud3sjSAqCKXZbvFiowqVgLgyNpYKDc0AOIbI5dhJwHffVyI8zlMglppg01vn0v+OuuY1Jrw3j+yUJzFwzOQf+aW34T++fHjPy0Miv5AHUAl8j3liO6bUXQxQaZdlbWnsB8PQmjGp6i2f54YGOu8CZfAVUtl8NPXpfE+gLPGD0q43rm8TLbOjg2grsTJ9mLIcOrTQ+h/tE9OWvQEjGyJOZBbxUqso+91E4R/vVYELOgixayXPGxKm4ri+mYpnk9tHIxaTAyoPmo8POFJZAOkPA/Hy4ri3EpNnUBxj3qLXiv4gq6ClCA8NrIGOZqBjeqHCvzuwDm7BKZchqA5nXbxl4uUASTU4JSxGnGedaI6ToCFTkfj+zaZzKSGKw5mGJF0yYuK0bQroCCgYCm68JVJ6Pvyc9XZHVuu4BNRkGA6jhHHAnweblCNbOF3XE7/IU6HhfycQ0IncYDXk9YQlx0qg4cfXGrnwpCXe2BNQQ7B+UTgkrBOeyRGUdg5bk5CKyq3BgRFYWyHH2hGgi8+qVr8y6COrJSvdlMsFteaM/E4v4iaXbEX38RJnwUN/tDwp7/QFsjAJx1EgoFNojAfF9n+Ft7sCP9caDQO8xUkyDKos/XlNI+pI57iCFSR7lzjtgy9tLF+jifop1WX3H0pgkXVv9/uHVtWlu8KprA= X-Microsoft-Antispam-Message-Info: vOKSmS/A2SicYkovAY2pWARuj9vlVCwJCohwTyDJKO4UFtEFXrs/gOqFZa7SUVz5uzkEb3XznFiCJurWwDTnJMy94xaoXVke+ZvIjRPGU0rVQljSuicPUotYSFCPlV8Va6umsRz0nKoifFIhyh20rsy4SN7rHibta10u2fHOp9hDa98dCxkSPDZzqj+k4IXQ X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 6:dj3yC5nYBGWqofU3c98GFr3u9xFqMfNYwZxIElm5jw09SriEfZtEyjrKKco53Jb/8scsy1vbxmTdBjqGAmW3dTQ0opdk10UpQltfHrcz1eWaMcV3vvKcckv8NaPmDBQ4AVP8SS+pahYHorBXtjwBtn4BXbEHi/iBPcXR6GLdtK98iPpwJ0C+kBcIsOQ9YSeraqt0HYvILoWsNPxjS2zt4hIFerkun73yoakOQcGw+JSca/PeJcR1VJazMIgCTb0rYyWzdzHucKm0M+KGAFcQv2MUjkub47ahMu+nhD9Yb7czXDFXmRLrEnfBfcY9k9YohdHlKT2IKC/imKWrcqX6zW7i+sCFSygce0d8LrrjIHh0yUcsi0UqkDpUaZTK++sdPW8ADFSZ6zFCZuwITYxGPayZAb3kD1uFWqnmymDDR5fUB/saHrEtaEAWFIoQztTyoIGOlr09Muzo3KPp3r4fnw==; 5:iwpLjQR5TPl3OH0C8hlH97T5K1EMvFFhX56rjxd2IfDNbn6HsbEfXE5gXnFoe5/j5IK3E9+rYtkHUK4mV0mA26qF/vpOsVnReawvGAIapTobiJxcCfDURfc9JgTwtzDAl1NF4FBVR9BnqKMK+8A9xloqA9tKRTEuHXYT1CTe3c8=; 24:7QGNFU1HM8/lakwcHEZpE+RnXOqWJIevGYsDEsx7UfGxrryEBirobnUXx2j+3W39N5PuWHELAu/P2hKnWTDbM4nPuYMXUQ/Cm1QKbeTl2AM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 7:cLFOnaJ8YMtVtNphFhZ6bxLJUP9QEvclc+mqVj9n9mtSc/HiGkx7WONMX1K5Hw2W6DavhK5UlpE0/zeO++NahLPITb8wxap1eaE1hRmp0Hy3e7dci8ZBqxOoo8CyojsSHKdX+7tc/nu4TlqjGTPhXF0SUYFMjGrDln3cdwveM+SZSWwMspkJKWFOAOWlsZNVlSZ5Fm0U9Eq2KnYxvO4bLThfYSRuWkKLNseXNJt7W3hh9AD4oiWLieN8QlRvLUSv; 20:bvzWP5UmOVaNdbBD+cTMwsfaAgAtbu/aEDreWVvxJKCWWY+IbuhShNSysjJ/grfn2sx24UxZxNK66liWGWC+dN3ZkO/NeLDj3cUzhJ80dUHTtcW+4zWpRUPqIxvwgXgoe/qUY15cnDTZCH/Z1cMLVLBdIb0okfiM01KFDbuLyuw= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2018 17:44:53.0336 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 890b5302-282a-4a78-2b76-08d5d1555ef1 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3347 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.1.99 Subject: [Qemu-devel] [PATCH v3 7/8] file-posix: account discard operations 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, armbru@redhat.com, mreitz@redhat.com, pbonzini@redhat.com, jsnow@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" This will help to identify how many of the user-issued discard operations (accounted on a device level) have actually suceeded down on the host file (even though the numbers will not be exactly the same if non-raw format driver is used (e.g. qcow2 sending metadata discards)). Signed-off-by: Anton Nefedov Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Alberto Garcia --- block/file-posix.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/block/file-posix.c b/block/file-posix.c index 07bb061..4a2e394 100644 --- a/block/file-posix.c +++ b/block/file-posix.c @@ -163,6 +163,11 @@ typedef struct BDRVRawState { bool has_fallocate; bool needs_alignment; bool check_cache_dropped; + struct { + int64_t discard_nb_ok; + int64_t discard_nb_failed; + int64_t discard_bytes_ok; + } stats; PRManager *pr_mgr; } BDRVRawState; @@ -1533,6 +1538,16 @@ static ssize_t handle_aiocb_discard(RawPosixAIOData *aiocb) return ret; } +static void raw_account_discard(BDRVRawState *s, uint64_t nbytes, int ret) +{ + if (ret) { + s->stats.discard_nb_failed++; + } else { + s->stats.discard_nb_ok++; + s->stats.discard_bytes_ok += nbytes; + } +} + static int aio_worker(void *arg) { RawPosixAIOData *aiocb = arg; @@ -1569,6 +1584,7 @@ static int aio_worker(void *arg) break; case QEMU_AIO_DISCARD: ret = handle_aiocb_discard(aiocb); + raw_account_discard(aiocb->bs->opaque, aiocb->aio_nbytes, ret); break; case QEMU_AIO_WRITE_ZEROES: ret = handle_aiocb_write_zeroes(aiocb); @@ -2965,8 +2981,9 @@ static coroutine_fn BlockAIOCB *hdev_aio_pdiscard(BlockDriverState *bs, BlockCompletionFunc *cb, void *opaque) { BDRVRawState *s = bs->opaque; - - if (fd_open(bs) < 0) { + int ret = fd_open(bs); + if (ret < 0) { + raw_account_discard(s, bytes, ret); return NULL; } return paio_submit(bs, s->fd, offset, NULL, bytes, From patchwork Wed Jun 13 17:44:26 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Nefedov X-Patchwork-Id: 929013 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; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="iBwUZ4w+"; 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 415Z801hmWz9s2g for ; Thu, 14 Jun 2018 03:52:00 +1000 (AEST) Received: from localhost ([::1]:35996 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fT9w5-0000CI-Ti for incoming@patchwork.ozlabs.org; Wed, 13 Jun 2018 13:51:57 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59597) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fT9pO-0003Ry-3b for qemu-devel@nongnu.org; Wed, 13 Jun 2018 13:45:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fT9pK-0007P4-NH for qemu-devel@nongnu.org; Wed, 13 Jun 2018 13:45:02 -0400 Received: from mail-eopbgr10099.outbound.protection.outlook.com ([40.107.1.99]:57531 helo=EUR02-HE1-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 1fT9pJ-0007HZ-I0; Wed, 13 Jun 2018 13:44:58 -0400 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:X-MS-Exchange-SenderADCheck; bh=2kQGGprKNVvOrTdWVeK3+scRV0O1n3Yrgf/Ot/GrTlE=; b=iBwUZ4w+akgtFDLwankUeE0I08UPYJPvvBoUxQv7BrZ9ns1A+U4j6JM78M329vmn/kwr2uTIdUVr0dy1jOCEYuRCpKlSbqGtnGdgNmU0WV7NSmpH7OioNMLWzSyuAAAIWOviwp9YjdeO89lgtgpP4S/7WX2rMwa1whLHHqO3d3s= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; Received: from xantnef-ws.sw.ru (195.214.232.6) by AM0PR08MB3347.eurprd08.prod.outlook.com (2603:10a6:208:5f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.16; Wed, 13 Jun 2018 17:44:54 +0000 From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 13 Jun 2018 20:44:26 +0300 Message-Id: <1528911866-37489-9-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1528911866-37489-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1528911866-37489-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR0902CA0023.eurprd09.prod.outlook.com (2603:10a6:3:e5::33) To AM0PR08MB3347.eurprd08.prod.outlook.com (2603:10a6:208:5f::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 42633b20-4c20-42cc-a836-08d5d1555fa5 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM0PR08MB3347; X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 3:FDmvTJ2XrWm5kZUUS6MT2acNw+2ZemOLb7rCf47Y3jZgbtrxtS5h/w8vJQkyn+O1cOruZNgPLS5ZbntcD5h8ypb2/E3NYnxFvDbuMg/Ch6OwV+pn+TVxUPI13JD5mrj2IwQXqy7oc4ehT9VQJUj8ufru4iD2HJ3H8+BcgSVwWEg/aOJXaIFgcW94Ah7IP99/+xSL/2nE5rBK9NHJ5vuSgZTyfkEduFwqe145jroIZohRIbaz7Yo2ep6T0uB7Mcx/; 25:6g+2l/p8DjtGlP5hFYjYq0La6X9SAf6lXLCN1G4eea7mxWmgZPjgEOM2DB9fLuauF/w2M14ZFU8dVlYbrf0LnO5WIK9WkS25hGmPe9wwWHlkC36fTivnfi3hAAT0/KVY/OxPeSwInVgGLLzYDHHCFRZovmb+UxnaXzixXKqzltmN+arKoImkENkVjpxO8P4MXj1OZEG08+2X5Ntwq0RxGb0vAm8hWD6+5f3mPr3qmskUmi/jSu8mBUANaC5LTDAGANh4MCTpKMScvSClFpfmWMF41ytF0uN4FxqiYAn3WPW9fY6uCmk4upm8RANAt4SjtDhyR2JgzA3MaV89diPgwQ==; 31:zEFWCBB/V8LBa+tG5AOCcsqIU1w+B9iAhD6An1IaqnIpiaHaprK09LFMxO8tz79KfF7McTXbpnzeaRZkyO1u/Cx/++Z2P0YtyFgSGj1SlGy3uPeC+eTS4Oxv9N+21fnEsVQw+4Okv3hePMgkZiF5eFTZFTPCqmFsN6v480fJQPkJu7L6bvUEHq2PH95xRtghdtNQuuCtj98lMy7ZIrVAf3mcaF5hMPc1Jl4grFkf6A0= X-MS-TrafficTypeDiagnostic: AM0PR08MB3347: X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 20:Ynp+05rWxiWcdtkNbb9dfcBOvHY8smOxBYqiLdlynZId25p0EZMNIyjM6rFzZdZ6+jgxQ5pcDkMV7Rnc5aQv0ZuUNqueYZmgWLdUgrKt8bYkq+G5xke0h9G65N+WTW6svv7Jld7tgzXrrqbrsSL2SUFlpX04uwpPkHOsFhfsYfcdUM8nbNPC/++DNV3VQajF6+aWtl3CcqklM0EwqELG+zpCS8/xAFik3zcFGMFAF370MEVyDDEff5O6W3cnbzkSP+uPI/b0zDtYianN8Dl/ENRtY5i1bdvzr3rfRZobQZku9E56NtEoI2G5Euhyg+JGHxmSURb0o98YEAzEk82G19y6tH1GBBZcXbf8io8jbpDS7GBuE3BYNj6wTFYky3Lcg2igtHODKzKfTVkG0zwivNX3S9SRFQW1ehSJAtnBdoQkEu1IeOwnUO6eDErq//x1DXeGdC07tUuxrIamlydd5tqgxU51bLiPA4AEzoV7RPqfMGz+bO6izJzQeLcyXSQg; 4:4fQjxZT6gdjeaAhpTzBN7h4FZhp+RO8OW1CJuDxiKR85KDIrBV9g/GPByAD1Hiy7MydtkeT881yro9sreydWqFxJHZNH66THHUQx7UZ+ivg72FBxfEXJNU0cHDj3wHDbSKpLSxbU6EMa1YjclSP4hCxCw4R5VUp1UDm7VpjQMEJE9HKVApVYIE1eNFACU1IDLopen65s53jWQz+7LxSc7OM98O4iXVAmTpgvhUZm7WV9cDba1hZH40cyuwo3MDDnqnkGtQkMCkLEn3an7ClbGfWxxP7/KetyD8QCYRvysul77UEk96d7ozTxH3a8a+zc X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(20558992708506); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:AM0PR08MB3347; BCL:0; PCL:0; RULEID:; SRVR:AM0PR08MB3347; X-Forefront-PRVS: 07025866F6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(396003)(346002)(376002)(39850400004)(366004)(39380400002)(199004)(189003)(50466002)(2351001)(386003)(4326008)(2361001)(59450400001)(6512007)(52116002)(105586002)(486006)(478600001)(106356001)(44832011)(53416004)(107886003)(51416003)(53936002)(76176011)(11346002)(956004)(446003)(2616005)(476003)(69596002)(6486002)(48376002)(16526019)(6506007)(7736002)(97736004)(186003)(5660300001)(6666003)(25786009)(6916009)(305945005)(8936002)(6116002)(3846002)(50226002)(66066001)(36756003)(8676002)(86362001)(47776003)(55236004)(68736007)(316002)(2906002)(16586007)(81166006)(26005)(81156014); DIR:OUT; SFP:1102; SCL:1; SRVR:AM0PR08MB3347; H:xantnef-ws.sw.ru; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM0PR08MB3347; 23:3y4BYq/Um1i+3/ffgmxUfLakX2Us8FehXGoo4d/T/?= Mn6JwG3pZxE8tLln8lweskaaEirJZBNW+GMqJ5bLJE/JOQ5qJI4snECz+1rh6GA9tVfobwhT+tlfK26WE2uE2aMzLEdZXyR7nU2l1HH6Rq6IYSLtxub6lqVBtFQFEXqd5EPb/aD1q9B5JXIdTCNhqpGhP293QWbOeWrxcbrCnqjCKB/9iicvJXuUqExbGDJmiOenjP4eYN2HGu1MzSwHWsx9EHoB+D6Tzc/eUJL0vLE4vmv8LZmBDxfxjsd8pnTGUg7Ge8Bd9BKJ2ZQwJOGyyfIm48GgYwVpO8hVhK2wZDiewobkUzzgRgD++6/ouxvvoEx+7sEtAJMd73p3UYykfoTMnYNtUWWU2TJ8fKtlxcr3ZZdjBR8nNE3+8hTSzsOp6gITrPAwm9rwzt1lQvboClRbMl8hdDzNgDLI+H0vlfqckhGXwO8nCLKOjsjOpFN3OMATsR8BHcl5bciLSi6pI+prPFHa/BIgv2VxwyU2g30sgFNkKENJ84L79/O2fq7ctiExMXYyB3kVpcpF0jyZve7ygiQ3xHYIikge566GS8kwZcY99l9KQ3rRhBb4mAawsPZK2elXpRzi5OJisqXaYjViw/F/Snx/ejCSOqY/SOWujhbhfXRTNDsV1yXKZEDmvz/prdqlhKdRHyHRNeq4LalaZBYBSAY3C5Uu8jh4Ha1M1XFWQYwD+SUz6zER/yxiqMWhkFf39039XWl+0I9RzciPssgaYsMqP6idgnMhuxlrgAX3yViuxa0LDLzxHb97qJ7KjeLSTVjKklgYBar8lQurLhVKgwGOOurg0vpMC5xISw4976DDpxQr9HtsB9u92WPDi5RzhfOQqHnE7wPeDIuGj/olI5dfmz8ERX7fIvg3DdcXZ22oIF2F6xbduWM0vlqpk0MtArMrw89yhgETqYBd8JrQlTkZ0f5T883TkKJdfjMZGCprXiSHXwEpQcikXDfq8tUjvjHy2sVRuFQppWfzLF6R64w/2LjqZYY/7dROaXvoJK7Z8Xj7qhD8j/1pNNShZ0oHuZpkVez8UIfXZpqD4KB4IWRNJ0EQ3eTXsylOcNcQcF1nOO9UZ+WQJLhrnb2lPlTJhvnFJIsdUVNYFpb0lZNkOyaXxzbk8FiTQPeEDKsrtPoAmriJDJ5R/PZoIj9SuYIPlzraV+udmAic1QYQu6VW77uF2MWHIwLihTNkH4bL5WLYqohrK2KnqHZ4ihGHzYiSg8PEnbYp4WlKk7kypahFdPZKWgAD/xLf0fhIPHdRp6RTBb3tlqAhKsVhJzoDhhAJwOxLkz6ExNCU1s2/tm4hmjU2fUGsaBGHkkSfw== X-Microsoft-Antispam-Message-Info: V3wgT1veNVJI4AYYDrE2yLOQTw1ZMPbLS5mCj1swkftEbdDUIMa3bEH2w1Aq/tdi75JCARDr60LFHfLeXxu9dGopUc5WZaarepTqP7fz/FnXEl7EglCrQriatKM9pCjYm1C0uwAtfU2qR2sQOJvFGYf0RkyIlhsDEqLgwIfL2mdNzfKcI+eW4FW4ASZWVFD3 X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 6:2pALjL0iMBZIXA/0h5udue/t9y8yB/7/aH5mEp/+xtyoM9XbwPllyxeb5Tpci3XejCng3sJmRFdemVnVqrSYYd8YnAHpW+ir/ES4N2JPlxKMXj4Ok25Z1C5CWZGcKJazYOQfspsgaCNkROS7SpXcetjIfdHTGofeOqXuCI/+jkFXO1NL6qAuEB3pSw0fddcBiaA4acSh2CrdkgLHjpfI0MbnGK1JJLK4hdX5lc1zUh30lmb6X6gmY5OHyc+dqrk+18wdIor2iA4N/HPE/d8nwGrG8498aZoFxGvBz2ufptZAVyGzxA+iJtJivyrAOVw7WEnvgpazIERD1hnEZeCn/drzgdd8DyIQDBr66Dw45bIpdDcY9uDEW4EUhsJsxnge59cG0YIzDK12YpPIFYmOO+EsYvgy0ycLX+H3naGThczUU4f+AjnRArbL293+DM1AUFPr+LilaYeEVlhUG80w6w==; 5:HBhpMqJ43p28Wy9Bxbtici59rEMyx7xpW/c5YN4o/JKWHeDHkacGYiuICt8OYPML6d5j3Q4iXCMlozTB0ESVLdjFh4Ijb5RForjvHHdvVH2MP7EUBh92Y11ojnz6nBBZJ2t8j90rvqKHURY0LTUaMQrq0VKbr9u2Me+qEjZ3atQ=; 24:kahIW/t1gLVhN5XCHiDgyjkNhEjZXZ9EavUf2SblSRk60xcyCmIGPz3EFqwOZbt7VROlO/Ye6cz+mwWagEqWW5hIpkCNbNv1tKRAVeM24Bs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM0PR08MB3347; 7:meS5OLUk+3bWboOzVUbz6kcovUzPeJaXxgpwZRgZsNpfx1fhhn38TaVPnokK16aZ0AQ3dxsirv0iu+hF3j/mEW0+6mS2Lc9ZsXDhj3acl5UtdfN9DAz/RDgh2sy06Gcp6O4DLKdPMRXIvzOLO7Ho1hp8NFkLF/OBqMrsVrQxYGyE4W+dpXBiG4G6oanWv/lONLpZ1WS33yYCnrJSdqDYQ7Wd6cw15QKo2rk1/O8PFKwHzHY8Kl63uNUio5kvzq92; 20:4zGNEV8BF3Z2o2fqh3D9Uhj7812jlMCrIRstpVtMnVZ0PPKnY+Bw1pX9A1O+blWICjbyeenuCCRuO0ioRco7+4g0gXGkrnvKrHDgX0XGswxL3ko9H2VDawUNB7bknnrMnvDAomTf700XDwBfQqNi6oLXsnpKHTF+xuSdZkxeTx4= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2018 17:44:54.2395 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 42633b20-4c20-42cc-a836-08d5d1555fa5 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3347 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.1.99 Subject: [Qemu-devel] [PATCH v3 8/8] qapi: query-blockstat: add driver specific file-posix stats 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, armbru@redhat.com, mreitz@redhat.com, pbonzini@redhat.com, jsnow@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" A block driver can provide a callback to report driver-specific statistics. file-posix driver now reports discard statistics Signed-off-by: Anton Nefedov --- qapi/block-core.json | 39 +++++++++++++++++++++++++++++++++++++++ include/block/block.h | 1 + include/block/block_int.h | 1 + block.c | 9 +++++++++ block/file-posix.c | 17 +++++++++++++++++ block/qapi.c | 5 +++++ 6 files changed, 72 insertions(+) diff --git a/qapi/block-core.json b/qapi/block-core.json index a859011..800cf2c 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -886,6 +886,42 @@ '*x_flush_latency_histogram': 'BlockLatencyHistogramInfo' } } ## +# @BlockStatsSpecificFile: +# +# File driver statistics +# +# @discard-nb-ok: The number of succeeded discard operations performed by +# the driver. +# +# @discard-nb-failed: The number of failed discard operations performed by +# the driver. +# +# @discard-bytes-ok: The number of bytes discarded by the driver. +# +# Since 3.0 +## +{ 'struct': 'BlockStatsSpecificFile', + 'data': { + 'discard-nb-ok': 'int', + 'discard-nb-failed': 'int', + 'discard-bytes-ok': 'int' + } } + +## +# @BlockStatsSpecific: +# +# Block driver specific statistics +# +# Since: 3.0 +## +{ 'union': 'BlockStatsSpecific', + 'base': { 'driver': 'BlockdevDriver' }, + 'discriminator': 'driver', + 'data': { + 'file': 'BlockStatsSpecificFile' + } } + +## # @BlockStats: # # Statistics of a virtual block device or a block backing device. @@ -897,6 +933,8 @@ # # @stats: A @BlockDeviceStats for the device. # +# @driver-specific: Optional driver-specific stats. (Since 3.0) +# # @parent: This describes the file block device if it has one. # Contains recursively the statistics of the underlying # protocol (e.g. the host file for a qcow2 image). If there is @@ -910,6 +948,7 @@ { 'struct': 'BlockStats', 'data': {'*device': 'str', '*node-name': 'str', 'stats': 'BlockDeviceStats', + '*driver-specific': 'BlockStatsSpecific', '*parent': 'BlockStats', '*backing': 'BlockStats'} } diff --git a/include/block/block.h b/include/block/block.h index e677080..b263d8a 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -445,6 +445,7 @@ const char *bdrv_get_device_or_node_name(const BlockDriverState *bs); int bdrv_get_flags(BlockDriverState *bs); int bdrv_get_info(BlockDriverState *bs, BlockDriverInfo *bdi); ImageInfoSpecific *bdrv_get_specific_info(BlockDriverState *bs); +BlockStatsSpecific *bdrv_get_specific_stats(BlockDriverState *bs); void bdrv_round_to_clusters(BlockDriverState *bs, int64_t offset, int64_t bytes, int64_t *cluster_offset, diff --git a/include/block/block_int.h b/include/block/block_int.h index 327e478..2456723 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -317,6 +317,7 @@ struct BlockDriver { Error **errp); int (*bdrv_get_info)(BlockDriverState *bs, BlockDriverInfo *bdi); ImageInfoSpecific *(*bdrv_get_specific_info)(BlockDriverState *bs); + BlockStatsSpecific *(*bdrv_get_specific_stats)(BlockDriverState *bs); int coroutine_fn (*bdrv_save_vmstate)(BlockDriverState *bs, QEMUIOVector *qiov, diff --git a/block.c b/block.c index 5088708..46c91c8 100644 --- a/block.c +++ b/block.c @@ -4172,6 +4172,15 @@ ImageInfoSpecific *bdrv_get_specific_info(BlockDriverState *bs) return NULL; } +BlockStatsSpecific *bdrv_get_specific_stats(BlockDriverState *bs) +{ + BlockDriver *drv = bs->drv; + if (!drv || !drv->bdrv_get_specific_stats) { + return NULL; + } + return drv->bdrv_get_specific_stats(bs); +} + void bdrv_debug_event(BlockDriverState *bs, BlkdebugEvent event) { if (!bs || !bs->drv || !bs->drv->bdrv_debug_event) { diff --git a/block/file-posix.c b/block/file-posix.c index 4a2e394..0bc2cb6 100644 --- a/block/file-posix.c +++ b/block/file-posix.c @@ -2518,6 +2518,21 @@ static int raw_get_info(BlockDriverState *bs, BlockDriverInfo *bdi) return 0; } +static BlockStatsSpecific *raw_get_specific_stats(BlockDriverState *bs) +{ + BDRVRawState *s = bs->opaque; + BlockStatsSpecific *stats = g_new(BlockStatsSpecific, 1); + + stats->driver = BLOCKDEV_DRIVER_FILE; + stats->u.file = (BlockStatsSpecificFile){ + .discard_nb_ok = s->stats.discard_nb_ok, + .discard_nb_failed = s->stats.discard_nb_failed, + .discard_bytes_ok = s->stats.discard_bytes_ok, + }; + + return stats; +} + static QemuOptsList raw_create_opts = { .name = "raw-create-opts", .head = QTAILQ_HEAD_INITIALIZER(raw_create_opts.head), @@ -2623,6 +2638,7 @@ BlockDriver bdrv_file = { .bdrv_get_info = raw_get_info, .bdrv_get_allocated_file_size = raw_get_allocated_file_size, + .bdrv_get_specific_stats = raw_get_specific_stats, .bdrv_check_perm = raw_check_perm, .bdrv_set_perm = raw_set_perm, .bdrv_abort_perm_update = raw_abort_perm_update, @@ -3104,6 +3120,7 @@ static BlockDriver bdrv_host_device = { .bdrv_get_info = raw_get_info, .bdrv_get_allocated_file_size = raw_get_allocated_file_size, + .bdrv_get_specific_stats = raw_get_specific_stats, .bdrv_check_perm = raw_check_perm, .bdrv_set_perm = raw_set_perm, .bdrv_abort_perm_update = raw_abort_perm_update, diff --git a/block/qapi.c b/block/qapi.c index 2ee90d4..29b7898 100644 --- a/block/qapi.c +++ b/block/qapi.c @@ -535,6 +535,11 @@ static BlockStats *bdrv_query_bds_stats(BlockDriverState *bs, s->stats->wr_highest_offset = stat64_get(&bs->wr_highest_offset); + s->driver_specific = bdrv_get_specific_stats(bs); + if (s->driver_specific) { + s->has_driver_specific = true; + } + if (bs->file) { s->has_parent = true; s->parent = bdrv_query_bds_stats(bs->file->bs, blk_level);