From patchwork Mon Jul 31 16:22:04 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Nefedov X-Patchwork-Id: 795875 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="VKjyPnXz"; 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 3xLlMv2Vlpz9s2s for ; Tue, 1 Aug 2017 02:31:55 +1000 (AEST) Received: from localhost ([::1]:60564 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dcDbk-0003js-TJ for incoming@patchwork.ozlabs.org; Mon, 31 Jul 2017 12:31:52 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39655) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dcDSx-00050J-8D for qemu-devel@nongnu.org; Mon, 31 Jul 2017 12:22:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dcDSt-0005Y5-Sd for qemu-devel@nongnu.org; Mon, 31 Jul 2017 12:22:47 -0400 Received: from mail-eopbgr10118.outbound.protection.outlook.com ([40.107.1.118]:18752 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 1dcDSt-0005X9-BT; Mon, 31 Jul 2017 12:22:43 -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; bh=U422KuZkwLz3mF3/YIEHLAqtGKHmR5Sa+zsiFbaO1+0=; b=VKjyPnXzTgOz/3TZ62A6Ji1MEMKYJ9Nw0WptqGlC94lxPmHKwi4wq1Dbxwxf3I03mkoTjrdF7ALzbqwTQ6i/5adGqraNqZgLH0wvAr+0HehIHjbdreiDv70pkfjvXzsWsEbSLtjbN35lnxmT20ye0d/WmbHYp+uCvQcxjlVSw/Y= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1304.22; Mon, 31 Jul 2017 16:22:36 +0000 From: Anton Nefedov To: qemu-devel@nongnu.org Date: Mon, 31 Jul 2017 19:22:04 +0300 Message-Id: <1501518125-29851-13-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1501518125-29851-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1501518125-29851-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR08CA0217.eurprd08.prod.outlook.com (2603:10a6:802:15::26) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5b306de1-7e21-4734-5169-08d4d8305bdd X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:hQOZfpCe6yFq5ZF53VcrkLXPUibNTx3046dwYEs1/UX0aldc0Jv+Osfggjxvpw9BQCAzngjgBNEqqs14DKkXhjlf+shNz8MypFsOlLau/+2ncWat4UoqCloWWFOCMyjYIiseHwuuE9odyGjjeWKvhoAMWonCFBc3ShCN96urV5a0/CofXLwIXJTkutdLWOKYStquKLL/M4bz+kPGCPxA8fQrVJVDvQfir1UXgykkj/fwMNNk8k9br7bosVk4jFv1rgMYqUX5dsyFc3XZ4dtZs/ACbr3rBPatX0aTsiOp2l71s6PWx7u0IjzjoNwVz1pDGwFOHzDur4tqR7GTlDVdV/kTbfWxlY5xetfTFv5whtJfLiGbfuIxLv+NphDfw/uBQ84AJ0so81t8pmovRkoo7aSKvI5mglhgXgmfs7b0HDYqPb+Lx7JFJZlzfWrVJAOqxzh1f2YSeUkEwthrSSxHpFT2W6s5oY8ZJYWgC03YVSbWY5uEGw6M5n4YU/OZ86D3zqDTwjdg9RlHdmSyQ1Abi94Xxjvn5wrUbf/xJerhaw9p8bAGs66N5A0X8LH3/i/8Vnm+/jDja6P1Qto3VD5vo/L4C3SREq/scqjFUVc+F5Bl27/QZaBpnm7b5iNqHS+XsUXXLAaUEVm3cDQoVMoSh0gUhu99mNLXZSUCo1PyLLhBUE9FaJv9YoB4ZsO/WMq8riJZn40Gr956ozDvHnXK18z/A1xCG7Ty5cwEu7jOmYH5IgwcYqEWgu/X+uYEpv5/qDugR1WAy1ZCzgaqx73mSVuNPkRE1H7xbYNsXVhvNIezzWcl4JYkFpR/I1EERl5N X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 25:gECnQjXWTJ3z4JibSP5NDrYphZlIuc/QqCQgZKH/zDkae80sU1QT1Q735W74n0M34tSig2zVp9CAonFvTWXMu6/8DCbB+P3tllSrazm1obYs1o3GWoyFthH/r8TS+YAlver9lLrzEsEIkKfvzi5Nzk33xkXcsoxQXZglQ7Um3MiM1YzF6l2e/MOuM9CbDy2dYpFw88n4gY4elDidQgBFB5/YwiA4YaCKEaKrnWG9W+88KmzeL0F5GKayYUD3Lif0+/h5CXC4HanimAC9uJopd1kHS2zyDUA5rYT5p6IjdYZ0qLJ6mZnsAvb2qMxXUBI20X3dKT3yyx8B5E6ML8l6oS+cN5JsdZka8tn+3Y2lLoLidl3c+9C+n2R0WK5sZk3gcwHdZfUtaV9o4tv+A4hTzFMTS7UeTSOdIHQe2NBdi9s87jJw3EuvWT3uaUq5tjFdNK8lHPEpOqeES4BLFEZOzDG81o4xFSEKLzAD3poxmcY5FmutsJoBlwnVfIfQItb07PQ+MLisL+IZ7ScbKW994MkV/MytDiM9D7XX3qEt0UayNrdUYFK5gTIkN8jTQQnNepxNdKNu81+klclXS3U8FLQHk9oAnu613wumMkMOytBbFX5/KmRIrL9FAZ6KezGC60VYvZnl9f1MYFx87m84GmotYHodOyaC9x1WYVEVBDqQsN59SzL881u/vzMOLSEB852kxFOzAFjPMZbdzMEXCVlNa2BboislbHIbAV/O4V0WEvvWjifQ6IvrfwaNCC9TxGZRPqRGj9UY9/w51sqVCi8Q8NA5qaWhb+XSO13Zg1FjsznjmZOyPQHaKx5GSO9p0XR4yd3rpYfAAaUmZitf8NamsGwjQOt8JyNtIZogWx1ll0wUanJhhKTYSzKoJcBzWyCa1RPaSuwyzjkWdtos+0zxdStLbDDQk549sNJU9qw= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 31:SPeA6gX+QaIa6hE9Txcyq0X0k6EloAOk0SqSCnlB2V4nSnaKz/arxCxYLhmGaZgRliftSDomHylsNxybWFYUJZXCWktzc34xT1A+JdUgWSj7nK/RbMnTXiPUwFBaVs0hvrRDHDw0109EB1g0vN1Ii5mVeHf4aQkWdR9i69X4GjWSBmW2AdbpsE6rVIzXsLaKlrdwZt8X0KRw1ysaaKTSfowlkL5rqTC7gsBz1TFzD6MVoQBckgeLLZPj4cWNS0b1SO9kTjxiLW/3sHzpw1ysRq9h1b1gYX0G+ArGAMLgZhuEiUF57wFId6rbRU9iu4aGHpNhMIdqvJPs52t052LjPRKc0GrIXwOlW669hM/vgo7pe57bh3u8C6Jacr5SylMi93+smcFR24Khr7CskP+H8lDI/pdmD3j6X7xc76t6AzHAwaSB2FzyNFQTaAC3CZe5eDifJCzp3uvKV3CBJi4+LINHYzzhNYiMHoGPmkGhALNh18l9vl5SgaHJM1L6w+nys8ctickizR17+w2NMJfWvhawFO3wkLPVo+vgVWu45z2v/lBeOEFGdaJ28MwCw73Tkzhv2b4t6WZyxPoBV00wXXFm/bij1/pZMGBuqAM/DTY/9UBx/ITqOAR2r8NOaTmagh3pJAAA75Fkenv+Jm1hRrO07/3Et6n/XP3WhcRfMSs= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:o+agYbvRzVgj11eoQL9kc1ErJfsYBXOLNHFTzkEVyZ7/Do/oELyYF5TCXkkuDp7KqyCDvy+sTzdvmNurWZWhAa5781M6DdgNX2GwPHWZGvAEZqTQNgVxz5gBVDzAVTkj6EVAb6i3vvANFgjiSHTTDgYF8PvbiKLRg9Z+lth6ZhCoFySmq6REb3yOYUF0xVcKkBvQ13ZL/pXwEQijzwlHuh8lAFPdeNJs7UwoFbTN0nSq5ZIIYMfYM+9fvNUa/p6ZiGcv/Grx8yzWRJE6A2+FqU+k/EU23NXprLDp/UxjmlVOw6E9KScNOoq5pL1jl+EORKRFmty+b5kn8RAwy0CMDmdam5Ky3zK+UGVN2g2deUHAnUWwAgDGrUC+KrA5aYWOZhTghrQVx6uZczrHzsnXgjLok5EOWrFTuUYah4gxYDo= X-Exchange-Antispam-Report-Test: UriScan:(250305191791016)(22074186197030); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(6041248)(20161123558100)(20161123564025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1987; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 4:ZRbUjvllKpgMUu0UYLQpnhQuOK3odCHl4RxIOFGF?= =?us-ascii?Q?SDzV5l/3+Q/ahEYtwbcD0jnwkKkVwkBF+G1HAcb0rPALMT98Jt6shZB1ILv4?= =?us-ascii?Q?KmkycBwhXz8YUCHHL+xFzc9DiI/b6bw8GNUUNLeeE/QkO/1YJvpKfj6mKvx7?= =?us-ascii?Q?tdp96GCli5qVXfjBv7X5ozptESQi5XsHMAyNCiYMRxCVR9NzU/vpvC3t8jfK?= =?us-ascii?Q?EK09bp4gDRBHsofs08HHfwuE6sjEKu9YQwLAuyn78c75bdzAskiBbU1CX8ih?= =?us-ascii?Q?kky+RAb7to/OFwV9kKWqux6+WYNGOeqYQbdFwA0lMAPDtlH/T0ESfIdxh9+l?= =?us-ascii?Q?XtNus4mI91Gn2LCEhg7lTHzuVMJTTQnFz8L4Jjp47QHQTXNSfDwiB/Csacg2?= =?us-ascii?Q?nMEBkH57WCcYyd6EelMd4pPuXx2EPkmTc2qLj+ITRKaTJXx8ERU2oliXOK2E?= =?us-ascii?Q?lKcaNQZkuWOyVFTlXHXVou6WP/9m+eMwgOBHF7CZGZ4TbkhKqqBwDSkoMZLE?= =?us-ascii?Q?lhBQiSRyNXXzBBKipmbMh7cPCDvEG3wID80Gj/dbrJNi4vXKi59SdQpvza73?= =?us-ascii?Q?pCyqFo0GFJTd02dh3SHvg0aH0fEHlbL5tZtuOHFeTXtDW0dgMG/HUxyM420K?= =?us-ascii?Q?lHrS1F3l5EemyIV46ZPIGQjiFRl8gApzurDXo3REZsNLO8j0SWFycy+dYiVa?= =?us-ascii?Q?rdFMegoaF6pBV7uO+QJzKId21f4PnXwXb6/BT4pj/MpyCAFv+DZzmzXZ3wdG?= =?us-ascii?Q?IGM0JKbvzsMF3apgi7iqwbu48F3ms6oN7nw0muAViWNNHEq64KQlqIAfAB3p?= =?us-ascii?Q?KM611UdbvJrc04QQpVYwN5R2kY/jXS8Cpi63i64XPv7nfWW/rT7iQzeDWeoR?= =?us-ascii?Q?k2wUbJAKr8RVCcQtIg4ffB/NVPQIX//FR2o3rbQwjD5XOGUtQNIQK/ncp0pn?= =?us-ascii?Q?41FQCEULfpo814PBLVP5iZihGQIpuRSUlvlm499jjBK/PiyG15per0KMvEuZ?= =?us-ascii?Q?61nP4v9SXjDiDkeO0rc5jDx9kT3EtI29R5L1q64Vx0rqzJybQHXzmYTMlh3l?= =?us-ascii?Q?tN6H2Affyahd8+kPoEZXWv9SdwvS7KOB3mH5yj+E+1IH+MpnIRFHgTbdd1MY?= =?us-ascii?Q?NwBXmqbwNyPW3aqxX14UXgmqmfb39My+r3lOGVhYIeM2PhK07TqgVEk3KtUC?= =?us-ascii?Q?DyNlQcB8aCt7UmowDXGS7wQ+MO5mgOmlHe53CfbDLsGfLFiH2ON3gvG4yg?= =?us-ascii?Q?=3D=3D?= X-Forefront-PRVS: 03853D523D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(7370300001)(4630300001)(6009001)(39400400002)(39410400002)(39840400002)(39450400003)(199003)(189002)(5003940100001)(66066001)(47776003)(81166006)(53936002)(48376002)(101416001)(81156014)(6306002)(50466002)(6506006)(36756003)(8676002)(305945005)(2950100002)(69596002)(189998001)(6486002)(4326008)(7350300001)(6666003)(2906002)(97736004)(575784001)(50226002)(107886003)(110136004)(38730400002)(105586002)(25786009)(106356001)(53416004)(478600001)(6916009)(68736007)(2351001)(42186005)(2361001)(86362001)(7736002)(33646002)(76176999)(50986999)(3846002)(6116002)(5660300001)(6512007)(2004002)(21314002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1987; H:xantnef-ws.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 23:6ybLT/tz8PVCAviB+h7IMVX15tMbFAAoHh1j76/?= =?us-ascii?Q?VNydqqULRA+wK/7P7/CcL2aQvsGWudAjY/S2NyI89S7ww6kQItOhjX/9t/UN?= =?us-ascii?Q?YSMPn/ObZKg+LxzeNVQdEK8WaxAyy/FEN8AqBHl2qkfSWKX7Na9thZ0mgFJg?= =?us-ascii?Q?ki0H4w4n4Cn+HaFnzfhRplja5FL+o5GvDPDEgUTSzFt7ENjbUn87iEYCw+RG?= =?us-ascii?Q?0PXqop/BKSMfF9kn2TEJ1xQllEok1yqFUp0O/ciaxUdJeWC7oFRKgFsg4sOu?= =?us-ascii?Q?e5Q8pBvaj4pxg9QOAMcsyjQgB5EELxGJv/PaaaSgM1dI8QCYlQJtrEmRmCJ6?= =?us-ascii?Q?d2qelHRS55hNt7ZvH08yAdE3F8892Pm/3fAxbLJSvsAnbf65mxKk3Qivbujp?= =?us-ascii?Q?GxP6zZEFjWL/8prBZIkzbHkcgtyq3KPpzZrf1CkTr8FjUe/LehjHO3/BheX9?= =?us-ascii?Q?RQBMS6699G26AiBIuhx6uzEga3Vr27mQTxQxdX/J35RisucBct25IVYSxTE/?= =?us-ascii?Q?tdhul+9TYgBColy+6MXKq/bPOfV+orKEn+itrw2LRWjbiaRKkvFuUJAeSIZO?= =?us-ascii?Q?3h1/j/3xA7q0nRSaqFaTziFB48nrMZVv5QLa+r+KeO/ko81Irn9+KeZFijuH?= =?us-ascii?Q?80nK6iwjhl58aHW2SB3UDpIrJkN4pu3B4v9PWPfE5UYG6Gpxk1kUTOW3BzZ6?= =?us-ascii?Q?au6yxNhUfayyITTs87/BD95jcgVEt5ofs0Rqu8kJUXtbpmnVeCssbD9z+fbG?= =?us-ascii?Q?0fAhHlpZOEeMUoqnkYBWQiczDesvqRdKS49rEpSNHXoxtQT+6sO7GCKM2qXU?= =?us-ascii?Q?Fi0tXmqmS8AJ2QLtuEccPjgPR3oARBd9zifAXVZufgyAunNfmN3ksxNvBR15?= =?us-ascii?Q?Qq5hUDEnEjJAGkdmQ5YpCgItbxysaRVi1oGYtH1oPDp++MeUvVPy1t70FCV7?= =?us-ascii?Q?oSypBwobl7LOgwGEcPMI7RBY8eqqfcmlaKq06Pye718vr+NTI1pQRFvNQxXA?= =?us-ascii?Q?qMubkUvfmHcRWmcX/K9hFPT2UwzWwYeIiUnNFoRBApufNoXVaqPIHi3j6ckq?= =?us-ascii?Q?dL3Dyt0pHSeu1FyklEKJqAmxXkX8W4sagLz8VNXAjiHXh8FxCbMXWXLhTg3z?= =?us-ascii?Q?RlVcDgv2YneuKy7SgwT+47U7HuKCkQHGj4x3RPz5il0U+Zs61QBtLzfGb2RR?= =?us-ascii?Q?1MlxHGHqYYopVOyLe6CwtlDdL+Dqv97ux4Jbd+YKpH9BLZVg0GkY80PhUwXM?= =?us-ascii?Q?1IL0WhRmC7drBRb8HtHOLgOOe5RDapk9re2Q6LnHs40pqStfnEbS4JezA5dg?= =?us-ascii?Q?ddzT26X5ZJG9ZD/z9JdI4z2NmpjaoCpzlifbZ2k0FdSJ9vIDxXi7WbyD3s6y?= =?us-ascii?Q?Aaf335i8MbpWcrlzbF/4irIm7kBUPaZB8eYTszVS8rsGGu8qQ?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 6:Wq9h0lGAezCTJdZBxq8B7tUzSlHvGGMTi46DKHRL?= =?us-ascii?Q?LE26kdLVfASvEwhdhjQsQ//6nd6ZJqPiMn/dFcIkVKzIZDqx/Pw5hd9Wr7OV?= =?us-ascii?Q?RqKhg1gXMh3tCgYiGcByA4c9WQfHzkMOLVBxQSVbOCFYI83vGx/UVrf0NvUv?= =?us-ascii?Q?y3FF+l054WoRj0ubfJPJnlJT+nvtI2Dqbgoq92vF82bOiHnHp4MI29sQN+nU?= =?us-ascii?Q?fiUyfu6fxRpkQ5xWIpkt3pZl3YEYZwuy7FINWx0UNLB4uyXSVUUe689377wv?= =?us-ascii?Q?z/abywViHIztPZjHeO/iNUgurATw62Dihs+blEVm70ukP47z2QpsIdhFVFDE?= =?us-ascii?Q?jQHcGoNLUJh8YTUsF1qkOedx4MOcY19BpIpBICcuYzinEjKv0I+O9XHG/1ae?= =?us-ascii?Q?xnARZHPPG8dj5qP1aFbwyLB0L+C39O0h/cxkQSVvSuexNa9um+0xoshoHU+/?= =?us-ascii?Q?MeuxImgtvYIasipLMkXHF57ATMIrDOgE5silB7HMkx+c5JL6NfEsMB3kcPif?= =?us-ascii?Q?IUKhy6GfcOpQtkaI+ngPlZsfF3ioRBEGsPwJSuhvmwXNNx8jCrRptQeN7uIG?= =?us-ascii?Q?3mQAx3s73o2ylOy/rNZnWHBbXxpYyZWoCm3kq9lZPybeQw02ZOQpFvhlBmUB?= =?us-ascii?Q?zV4F60ImKfZwh+SuWZFpWBV/ItIA9hOPYYoo4ZzQxrWjsl9mAxq3e1DObJtg?= =?us-ascii?Q?eABL3Fo6CN39t4MJ41d6ZDHJT+5y8mK1NGlytYD+H9ZkYmBlEe4qQimGZM3m?= =?us-ascii?Q?U7wRna5UyO695iGv+Og4LZtKUIzsY8j2msFCyCIQcbIlyd8l9qzl2H5an1al?= =?us-ascii?Q?8UgqK1RzMuBq3KVkFTAWaHwkIy8tfrCy5aFoxNegjG7J8+No6Wku3uGBoCmB?= =?us-ascii?Q?SZv2VFyjlrdSwyP+ocSUlo2hHuwPVn//CdeXXYNy8BUa4jBSyHMdIbjYzjxH?= =?us-ascii?Q?8b8X8uQfMqKP/AK2oOKGX/Xd8fNCZqR7rj4l6MWFZyKCbYiZOFiTgjWZ0rnK?= =?us-ascii?Q?XIU=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 5:zBBc1+2OLE93t7spLjye8y2pu1W8nwVNbtsQCLClIWajUy0FKiNb3Pv6KMMZLSB6iwSAT7NQAGMN51LLFAmgmva+u0Z7XZOFAB0UNAIPcYShKV7SkiuahKn+3zUX6Cp8Y2eMNHhJHRts+/rLQ0c1wjALDV2dnmEVWnr3weAZCPPqngTp1S0eB4T61hIRrEHdSqONaWW81etWUNeEfofeCsbMtwWU0PeOw9/8OJpsEBjuO5A2cZc2sxfsJbdgiL+SZJOECyPaJWf3kjIlnD9BCdaokge0oIdrvCQ/607LhOsyIbGDQ2xgmzBT7bRVepFbVxM+51TEtuyDS7Ks5RCBsQDfAks6SWS+3PPi8aJe/r7MoX7hHeZDppj17IH6x+Gcnx06DOLMW3do7jQbWGABRYdwCAX3QcHlOX8KN2hTPpMhWPm37/rYqfwwsH7accf4d7FS1Po6CZ7+FShZKHGWYo2JIUxrczA+zpRmk63dDJ0uuRWvsw7Ba8KCIeiguspf; 24:Uk1Yklho4yrQ6YXM+HMBhbcwMjBeBm1mzG6kIz0QZTLerPCExaWV/g2dxb0hPJhkj0Ude1ANvkVGSWw9dhBL+RARrXdfmV338vDZkRBZ/OQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 7:M9zzPnnCx3uan/x++atHwAfEyxcXHLVGeprUFvNYvwXnpS2pboXoiJ/zDg4NZBB2Op5cLS91rP+PZXoqALNiPlz/tOp8K76BJDerUWSjfJO2B0AF0ofRv58g7y3dC4wEcYtjr3zc/520m8uwIf5FWcOnYknTSgOsMi3r85aFEFeHxu4ybL54iXIl5JcDMmRS4QEUjZMjfOzQvQR0G8iK3hTy8Cp0kg2zatMTn17djXkh5zcpKkI8AHuQ7Wi+R8RuQ18H24BoivkZNhZ1KGRtvZRYl+BJOcOTOp4JXynsWQ21iZ3rQ3BnFGWu2fRxcgRJib+F1tbE6gCQACpQKvYkrHl5Lo5GDaZVVswVFL37h5LqD9BAKOa30pqhzOHh8MqOOaK8RXIqeKpkUaiVrD/pSG+/XaQlkp+bxAGnO8Eug2u7anV8+atO5OKXsJAtIwK4OjGCZNare+EbaQz+12Mn+QooAIms8PrpdK9EHNdkQN9LrKSBhsEeV4ln3Ttk3WZJuJFuLX4Ivv0St34auMIKSPUXQ0LTnFE5n3ZJ4Wom0o3a3YHRUG+g6Jk+Ie0NUMWyF5kSPz8cLCe1YDMCST/YXjuwRbBXz45sMUEb19NYILpU9WNyhsHaryWD3ufXLc2DdNyOJGl/g5rg/dBVVcGp/VvtkDFJd5QFgQmmzXqrUn1xt/UGxJKV8w33zx9zs6pjrs8KsWA/oYD+w2cI3+E2kWlUys6fPHKJ24p0C8ib/Nxw3xh1WWTpw4plvFvedDM8EWV1CkzdYbknbODzKmY+kUCIG08lqaRKnoyLKnfM5o0= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:rP3xc9/5fvdnmH8RDCPEqPESZUlcLq0AptGZRZsLSzFjkq4OTyiwbHQR4rb9pGYLxfsD/gj0hBmnGvox/T+/yCZdAIb2RVu5gRi+/sZpn032UoEJb0kJf9kJvKZgwruUXgdHDU4VpUat8v0b2g3VxztA1OjhY7x2RbmIXgXk7NY= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2017 16:22:36.9999 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1987 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.1.118 Subject: [Qemu-devel] [PATCH v3 12/13] iotest 190: test BDRV_REQ_ALLOCATE 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 , den@virtuozzo.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Anton Nefedov --- tests/qemu-iotests/190 | 146 +++++++++++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/190.out | 50 ++++++++++++++++ tests/qemu-iotests/group | 1 + 3 files changed, 197 insertions(+) create mode 100755 tests/qemu-iotests/190 create mode 100644 tests/qemu-iotests/190.out diff --git a/tests/qemu-iotests/190 b/tests/qemu-iotests/190 new file mode 100755 index 0000000..ad7162a --- /dev/null +++ b/tests/qemu-iotests/190 @@ -0,0 +1,146 @@ +#!/bin/env bash +# +# Test qcow2 BDRV_REQ_ALLOCATE requests +# +# Copyright (c) 2017 Parallels International GmbH +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +## + +seq=`basename $0` +echo "QA output created by $seq" + +status=1 # failure is the default! + +_cleanup() +{ + _cleanup_test_img +} +trap "_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common.rc +. ./common.filter + +_supported_fmt qcow2 +_supported_proto file +_supported_os Linux + +function do_io() +{ + $QEMU_IO "$@" | _filter_qemu_io |\ + sed -e 's/bytes at offset [0-9]*/bytes at offset XXX/g' +} + +CLUSTER_SIZE=64k +size=128M + +_make_test_img 1G + +echo +echo "== Test discarded cluster reuse ==" + +# allocate first two clusters +do_io -c "writev -P 1 0x8000 0x10000" "$TEST_IMG" +len=$(stat -c "%s" $TEST_IMG) + +# discard the 1st cluster on qcow2 level only +do_io -c "open -o pass-discard-request=off $TEST_IMG" -c "discard 0 0x10000" + +# new write will reuse the dirty host cluster and has to overwrite that +# with zeroes +do_io -c "writev -P 2 0x24000 0x8000" "$TEST_IMG" +if [ $len -ne $(stat -c "%s" $TEST_IMG) ] ; then + >&2 echo "Failed to reuse cluster" + exit 1 +fi + +echo +echo "== Test preallocation ==" + +function io_commands() +{ + echo "open -o prealloc-size=$((1024*1024)) blkdebug::$TEST_IMG" + + # Verify that intersections of a running preallocation and new requests + # is handled properly. + # + # 1. send a write #1 which triggers preallocation, suspend it in action + # 2. send a write #2 which intersects with the area being preallocated + # 3. using break/wait_break/resume, wait until write #2 is at least + # at WRITE_AIO tracepoint. + # Then it is supposed to enter pwrite(bs->child) and start waiting + # for #1 to finish + # 4. resume #1 + +cat <