From patchwork Tue Jul 25 10:04:41 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Nefedov X-Patchwork-Id: 9861615 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id A2844602B1 for ; Tue, 25 Jul 2017 10:05:45 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A5EED28600 for ; Tue, 25 Jul 2017 10:05:45 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9A5BE28609; Tue, 25 Jul 2017 10:05:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 1F03E28600 for ; Tue, 25 Jul 2017 10:05:43 +0000 (UTC) Received: from localhost ([::1]:59579 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dZwik-0007nm-4R for patchwork-qemu-devel@patchwork.kernel.org; Tue, 25 Jul 2017 06:05:42 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49965) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dZwi5-0007nW-Bz for qemu-devel@nongnu.org; Tue, 25 Jul 2017 06:05:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dZwi2-0000IG-2P for qemu-devel@nongnu.org; Tue, 25 Jul 2017 06:05:01 -0400 Received: from mail-eopbgr30091.outbound.protection.outlook.com ([40.107.3.91]:14416 helo=EUR03-AM5-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 1dZwi1-0000Gx-60 for qemu-devel@nongnu.org; Tue, 25 Jul 2017 06:04: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; bh=+4JIL1mE5r69Mng9AhEPKDAnFjr4Yf+BhWg9gBKqJh0=; b=IiUB4s7DJYaRh1QSoVpI+G++VoyTTC3jIIKAuwVpWLS8Ik0QRNTESzFbS6S7kVptB+tPNp3M+Nl/o6nz0OXtpoKmT535KNG/e6XB1t/l8etxYBFZwoxxio/C57WXjRSJh6o7WEASXQTDRzFf+hfrfqyBX23nJ6jNbQxNXbRV/G4= 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_128_CBC_SHA256_P256) id 15.1.1282.10; Tue, 25 Jul 2017 10:04:50 +0000 From: Anton Nefedov To: qemu-devel@nongnu.org Date: Tue, 25 Jul 2017 13:04:41 +0300 Message-Id: <1500977081-120929-1-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0009.eurprd05.prod.outlook.com (2603:10a6:800:92::19) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 587ceace-36d3-4da0-4409-08d4d3449752 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:nXKG2yZ3vLyOXTIyNHtMVw9DNftdRQMtNfS6BTAUNNPYc266ZNzUPqkL53H/rvB21qL2VuXMuHhlhCpGypcB6vvc3T3l6oEXWHcsxWEGlKZfYSF2mIEJe8IBYajoR4pJykn1QE0AkaLTfOs1GFOEPHIJM2zk/FOk+uiKdDQYYplol0lPdGhXLFr5hMYgcaP+nxMBRJ+PpLe+Ah83gBSUEhR9WZSDPtN/TRRv94zGwJPhhslqfGodG2Fif/gw7YQED66VZKFR0J5Wg5tfoyqLfPcZjfGqP8SIOc44pbT3dqsSVpkwBoGvRfpnIwAyesmI4zD7efvqxTUfzG7FicGDYkX2Vwx5v7j9Td4Ad7gUJ6xwN2gPIYV1p9/MIzudJC0CP4zLbOD6Lea6bDQA1Z0rATQYHv0E3N36fbZgFspfL6o+DW9pcpM50Hkzrpl1Zs9yMX4x3ZhTJ6M6E5GpjWENi/5I31i1i+Es/yuYUDmmys/JGXDcTLFIhz0nd4chZ/7QRinLZFQHCrslgdrer2XiwQ2XIgjhHertAVqnTnC39SqH+Bj0jEHY5fGru5ZQNWZf2GenMwaZ91Nsh+xX985eB8vWJTx4asfhFuuxd8+ZxivAAvaJZSqJZgW06KQOJQENGRJro/dYoloiOCMpMwow9HSDYw5n4MEVpMCIeUxw+RiyD0g0felW6/FYs8g2OxO4/UyAP6aiMP//Dv5RUdnBgSAH5qEpNoMKwljkFTRkzAk= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 25:2D8HH/XPBqTnt7MJiwlb5cl2bfNymG/M1ApWpAi7ejaowF/P3q4aGhhaqjwnVIecHsKl8JkJrXJGaMn+sGlopfzOSuyAXLUETph6m1HnUMiXnkLPAoESbfSRuXtkgwJROGI4H8zWRqylMLuWHV86JOhxX+dgvis8oXpO+V1wg3yVt2ad/KyuufJR3OP7Z+cc6phDkb6EhPcR6b0KZSQuBlGehY7iu0y0oeV4/Yrq7hu5lw0Q744NhztMiHmUhdX6JVr3GjDsQ9XOp3DEwkrWwoIig7jbLMj30R3kqKEcwumgWH+f1VeyeYjmZV09adI65tNmFt+IbuSW7f/D902rpCl2/hjkleltqms/rgpc3BQaaCuPsmD7Ls/kySJ4wBaVeOZd9HUUhxugVKCOEmN6xx09wW+4G8n2SRK0n+RkBzdTakOYQfVYso7r2OBuw69cxxZc7n+PSNPYmKgFQvr1AwRmLoliFw/5xfzI9L/tMZHauDV27UlhwpTCH6bHW2tDlJEXfpPKgeGiwsFY85SOgMKPLAzsqel4j4y+4FJARxuTsLt8yEr17VEkrYeqgIz44jQi1qYkfGajDzBdjY52KmYRH/wNkrx6BDtRWeRz4AfXEdEoS/3ePppZodShy/+Wq2qOTllUq2yWaH08TT+Gdx+LKUiFjBCacTmzLdcinCcjhf/5BbOX2yD/iomuRI9qBKPeSzFsoYObYuEJRWWbwWwyIJo+7wPH00oYAVbsb4pIcTnkp7PxZGDbze5a3k+RsxwAzYIlvR2f8WZEK9z7GuAOFzaxrr0hNBnq5uajb1p4I3f1OxNTXx8b1dvUGDUIFB7gfG2iuTeJaNvu08Bl9yplRim8GpP1P4+FvSVecWUQsnYJBgrO2/tieGDg31krmTJwh9P+nMFKPxgRLkC7UOow/tHk+Iuf0l5eRr0CLTQ= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 31:Zjn9OwG5QGyDjQ67FqzfqjLq1z/PUERu6b8mKZg0VTFo6b8JeqUgnA2954oDwtNbuS853f7qk6/2DU5R5U68fj6zQTOIEaxl34eKx2navXa4iG2kg9jSUVeBhnvUCh1RA5QvVAIgfRsSOHmsMcNkUAnGq8AkFoacULG5B8huySsF91ULiOvjo0NvAP4M6NdIW4oNNDtNX9Vu0eI1pRUzCDQfCcqySdQHmH/MNdWDzmTJcKIJefpjErcOAflRG216bIMq410Tb6ahmITKkPdXJmVxf8v7EO8p18MtPXFUuu+OSxVWDXs5NFfzGsP0UPpowLL+iHznXF7tzenAu/wI5nY6r0GasY4pqSknvz9zxRXDI6tiu98oryKb1M87riy1oruHCncfqA94B+dB0Y13UrVejPCXltQlq9gkgSfJlDTZ53tzs18uakah3V0cUHGsJoWAsJzuVuF2+eeiAPlV0hXglgeK+i/Rnx5EfP1MD/EUvdhMSSk3BTCV968VT5qHlfazIxNBcfwsLw2RmlMxcDQPLrcZj5jbidcHyznR7Qcc/f/X+l64Il24jnnuhIuRzRQaK4iyngL6Xs6cTACIj8t1CIV7HuyJa/5IbS+Ej20dlGfCAHIN+2Nf9Se8JCPVENBUNuXXgfxWBDNBQX0nvmHrGcgXCXTaeyyOfOyTdcs= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:Pd4Xp3T5M12OogACve1+h7Qip+tWfXdpdw+wcoPtsGPzCTi48dHAQJpiJDDRuQs0rXxlHBobmy2j/6Tsj0raFbmfPETyOwhEEZTSnz6DwtPAPPBU6E0gJuyZ9vJPN08AItjzpl4nNa5GJPaSDoDW6Ni/vaUJxfmLSInfT7ZY4Z6PX+PiH4OjlqQde3DGjap55DcjrWWMzPQJ82d/kmuQheRnasIsk+6IdIF11PV51DBETYo/xlovCY0EUEjw2QVzEFWntgjMRXTRsR+GY/XoYs5SB8kigbXrGVSqxniY5ZWFk6wy6IRhk9Je7p/tU7MwrFyMwuVGWOiMqhC6Tq9Q/ZCFaQvFMVVKaJnwB4/ZLV9AjBWFrh+s+wY4NKCnGZ+pTXxpLR+77GKyd+4lH9bW5TWB+KYSdPiAVndk9Dq8rvM= X-Exchange-Antispam-Report-Test: UriScan:; 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)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(3002001)(6041248)(20161123555025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(20161123564025)(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:r+4aKUIxFEwqnz5sPbD0i4nJ52ezKtrQRwzTfvPt?= =?us-ascii?Q?fnQWkvDQTxN6rhkvNQ9fB7N34UI0m8CIK1BJq+cJ/61Zq3ZXlGeNikNz9hMW?= =?us-ascii?Q?8sJGOYD7bDbfUakEAQOzR7U3jtwf5HsRR8IBPY3wUW8zqWZ61wgEJSZHqFGZ?= =?us-ascii?Q?IfV/erlh0YP7Jfj0n0qPe/l7v34lQljV6uEiejqZZP0ZeinM790moTHRdUlV?= =?us-ascii?Q?hmg87TMfG+IKeZwpVtNY27y1Zp/QMpTAUNtSOyNtdUvZIET3CWm//pUwdmHv?= =?us-ascii?Q?ZbyqFvff1ucnW8I/1tvG3NsDMIb5ysyT3svX1MCQD9IiL0BnRaDwOzMnyC7H?= =?us-ascii?Q?qW3+aT4J6LiyWhVXCrqPgS+hyQB+9z2MteIdnbLbvXWnRj44q014woeIRZyc?= =?us-ascii?Q?Ms+2Jo0aopad8o5M6RZadqnhVYL3/uNpBfaT0yqNpof76irtL6OTgR6LXzCP?= =?us-ascii?Q?GvtnWCbfUYF5Xlz5vtFkZow6I7/GSZyLu9pZLUECSwAJkvVuBdBI169e1+rq?= =?us-ascii?Q?BiG6rrA2cn5R8Z5FopqMIC4UkAKXQ2G6FDR+nGEa4Kb2nTHBNP30vU8gXbO5?= =?us-ascii?Q?dQo5eXloZ2G+4Hd1lVusE1ZSyMwpRvwzkGGLrEumA3auHuvOvyWyFCQtROrQ?= =?us-ascii?Q?mBWB2vOthCcmbC9jetXtoZ4N/49v8ZTowCAo7cLQlvy5wpsBk9uPSBIzHVKP?= =?us-ascii?Q?00OIo98Q3cwrdVV0pdkOjsZQo0OIpVFRU6/LUZmKZaNa4rgW1ryaRWD9seU5?= =?us-ascii?Q?H5TkIQ94tW+x1QzinJ03uolFlx7+8MgLgjcvbxbMxXuUvY9RD35DPp2WZv9Z?= =?us-ascii?Q?CfmS8Ftoszod/a5PqqtpLsDRR53EcDdEw+YQMCMsBVL2WTLhwW5s+jggBU/h?= =?us-ascii?Q?FtVchMjPKCM6vg2/g9FwD4HDA5qtGp48AvdhgP4yOPV2cMF7IkghOznQfSN0?= =?us-ascii?Q?eOamTfdq+MzudlsRrS/QQXLdNpCQvH5p5o5q6HJTadU5FH+KvJJTwt0ZU71c?= =?us-ascii?Q?gyYIUbjSGweFzkcgp2lDvqNNjPvFdhzC67r6UWAbQEeGWPgzeRQA9jxlgoUJ?= =?us-ascii?Q?R46wj1nfGAT/woYBEr5Aw0O565sdUOYRuHYzhzQT3DdBNHmZrTrx11yESpSV?= =?us-ascii?Q?6yhl6KCiZdZp2+J7PhuorbgX9kZW65os?= X-Forefront-PRVS: 03793408BA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(7370300001)(6009001)(39450400003)(39400400002)(39410400002)(39840400002)(199003)(189002)(6506006)(86362001)(36756003)(68736007)(97736004)(3846002)(6116002)(25786009)(69596002)(2906002)(6486002)(7350300001)(4326008)(105586002)(305945005)(6916009)(50986999)(8676002)(47776003)(81166006)(6666003)(81156014)(7736002)(101416001)(38730400002)(107886003)(2361001)(2351001)(42186005)(33646002)(48376002)(50466002)(5003940100001)(189998001)(478600001)(110136004)(5660300001)(53416004)(53936002)(50226002)(106356001)(6512007)(66066001); 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:qm/HtBMVYqZ62wJefXuE471b/RZELNuobXqXjaw?= =?us-ascii?Q?BksoFXFbGVofYQ5LQWpajI6S5GlWVxycI6OCpRMLkwj3I1Ol5VVMy6LYFChl?= =?us-ascii?Q?Aft7vXgFzHZFHLKkHQoAOkFgw/Clh9Vqi/D5bJC7rv7vhTE5C+x5bLYkFq11?= =?us-ascii?Q?y6OvEVKeYFW+ZyX6hIcZ6K7wkDvALnE4s+Vo+IWAMzK1cXSr4L8XobG1AMrW?= =?us-ascii?Q?Dqlj7AVDBJr81PAvf4RLV5nengC0nYkrLBs+C/5ILPEGU/WL3+NpVSC+Pn02?= =?us-ascii?Q?voRvYNskVeePmmBr+1U/xCd1PczFo0WDYl3CjeAARe2Dy7w1H036BzB4Mx4F?= =?us-ascii?Q?VzrU06fxbtFXbDTVvIJlRjyPVbXUiJFVKdBER7wVDjtOOBoG7OrEYaGZ/W5N?= =?us-ascii?Q?mFc1llJ0yXR3XJNQ5oJ0ujS0BKL/btX8Nit+QF+XDMN+z8K782uoJyjI13X1?= =?us-ascii?Q?OThP/5DunDb6S4UepcU7SV51hm9i1OXizuWi4SG4yDh4U0ddr8qDd6euZXIs?= =?us-ascii?Q?+OvfMfNhGqVPCr7XIZmoK1r7mJUXhy6M4VabpMsbdRDWu+5j9aL3v+HufNa9?= =?us-ascii?Q?qYhMZpa8tLdewggWbCHpj2QG1zBKUTYTCV54IgOJEq/NB2SHL63bIgnQOlPP?= =?us-ascii?Q?+BvbNUARGzFFcXf+oVBtkFDkf9m0sqpvyGsZ4aTWyRNKEhRILiS9uDNGVzMl?= =?us-ascii?Q?svIu5b3rf0zWPx7OcsUABZ163rz2hUEoEW/XI8BhEcSqimz/0Rgum0Y08jZe?= =?us-ascii?Q?RShkDSQT7mJ9yz+CAAKxcZXNefcjwOOpdBNkAqbq67HOr3ciN6MucMfikQLS?= =?us-ascii?Q?5cobg2zs+sM9KuEBPTizw9nQrNjh5QmEBfajMjojGvcsNJyIPJ99FyUcoBem?= =?us-ascii?Q?l0xTEMBjy/MfIP9vLnC/IyiyO6Q+5QqQRbUk3p8LbtrBATKe/WGywMxB5Tjv?= =?us-ascii?Q?mhPQfWzVDEqlkDCdNyNLJZKI8L+mdquaYT4rgPf0zEAFLdnQbj8eGxjACCfH?= =?us-ascii?Q?kYHrcIqVGb6CDvjHVk2WnfzZuTTLr7iaSI1HjYyS2TPq6RonYhlhu00cw7Zw?= =?us-ascii?Q?RIXHoJgS5nZwArEtU2kc0auoKTHG1fzs2j4OJ2jH0sHOvAYvKoMY867LPoWH?= =?us-ascii?Q?KiNjmO/Tbj0IoeSY+OZ45yBPkvH8qK5q/D1ftny9LA/F2PQZ4GwK+AELAY5w?= =?us-ascii?Q?6ku8EqibEwPmplraRC66ppn4fFyuMc9RJB9VOGt0eEFJ/1p1doZqZoRzteY7?= =?us-ascii?Q?vZXyGURJh4qcBbpZZTRaLFwi+Tzp7+Q+Ly9ZXiRl7?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 6:HYZzID54H445oXt7RrQKgJfqhgm5isrE0rv/Olhj?= =?us-ascii?Q?TpHvBYerHRNG1dhSr9+qhiTDaZIJDmhrNDNe13VkEaeKtJlDNFHNdgWHRcZl?= =?us-ascii?Q?iIK7vpSizbl15/y0v+n5E+3LytkOksu4GF6mTfHrANLaNcTdT46bZiauKVb0?= =?us-ascii?Q?i1n6/UC5Dy+S4iKQHJCSTsNXURzceiPlifXgJY1k9FL3XfAb8prZuRNvOogM?= =?us-ascii?Q?HSVsNR5BYZMk2P4mVH9A2tvdIeLQEg3tKnfc1gXpgeC5GeLMEmvJ91y7SGQc?= =?us-ascii?Q?hwrG7zlXG5E4YowaiVLo/7xfk3gJsSY76zAz2y1wuSDM2K7Qu+fLKdDledoo?= =?us-ascii?Q?dh7Jc4LbzXOHAwLr+rAe6g1DQUxCHZ+vzLQSDI6TVizOGl8hTAHmXaCnz8ls?= =?us-ascii?Q?8U0sZriouGM0VC9cxzpnXiW+cF45R6gm7n6L6krP53PvyT/oRW/vaQUPBLYU?= =?us-ascii?Q?ITcLg8lKT4cDFvx6xRwmt9QNLyPeFf/u0Gvc/uJj01A8G5KAw3viKi3zUx2n?= =?us-ascii?Q?pGXz+tMao5bP8fyNMvmc0om896XO1HNUfVIdjKX1289NcOFmzu4oMJkWjOe1?= =?us-ascii?Q?ghjU/JFGfX6eFfrnZ13gsimiuBVt4TosMm5NgLNEQhtOigz3WJqQRoOj6Z56?= =?us-ascii?Q?i9UMpAjInNS25uH9oj5JT+Owc18/6jNFRRYmofwsD1KouvnGB0szcgGqMloq?= =?us-ascii?Q?LjCLafQn8qf0SMFp5csvUyjNK2Ao4spRytG9kGM8rEnNeWCqajalbRxh1KUq?= =?us-ascii?Q?dBoblm3qKrdw9lagrfenatiYRrIr8BrrzSZlUS1ONpfWABQ8NAbU11d/1Tsy?= =?us-ascii?Q?+qg758KbjgWIevtzO1St/9/brvSksyzW/Y4wBGdH5qk+s5hQFdToyS+Ma/7s?= =?us-ascii?Q?BbycQzp2+79n/oOSXVP3wSEGq9aNHpJx5mOlA2lEmU0aYylpXt40n3fClnkc?= =?us-ascii?Q?acIbj3oxW/a5RTOFm4+EhevvfZb5ADd5HR+PlQHXp0Bf93hMwxFsp2gN20RH?= =?us-ascii?Q?Uxw=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 5:qjHQ9zuqy1dlO5qlaF530cYWtIxBKxz05hVqhG7LHnNf3Vbjkz6JLaMBn8ZpVmkWhPEFXjOy3CgmrnQotX7XfBrARSbjv91kBYFtNygCjb2jm9h/hFVgqopDGmsQ3YDPfgnYWjE8o2pAqS/2ZDwKwyp51QWg4RopabWlaVn0wfHIym6+QqHKdwEU0Pv8DWQtF54Y3vhUQBSgk5UiZxYPrMqcz23hFE3xhf8QhGCAHwzZRJNMNM7Dk8Z4Xx+VJSAIxOrqK0N57mx//DlIcs4paGpBkJTmFQxRDvPXXXPKqn+fbSTTlU4nb4Xavp0bGzOzgqiXT3Mnsvi6rKSEdEGzS38iFvVHRyWl6DvE8uuE75dPsnR7j/YKcvY5BbOVQbU8yGOpr/PBLszd6MuDCS9W792jO9/O8yMHLlHZQfnq98KUS2Ex9CuyNGsshZ0R2kosPKS1sebYXVBPHhtsYDNUnV0JTYg0JTLb8oHRCihiyhMKWOMKPI42DI4nnzPMUxGl; 24:4mkMBlpvkigD+dalLJRZZ2V9dIvNfYMVRG633zVZhXmYjIMsSyfLz0hBfy3yD7o4STXzZfkEmGHi1eqNdhtu3OYIhFX6VaMgvyBvRkO8aJ8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 7:qk48QyEEPZAlLTNjfwYBphFwmKqxlOvUy9L09tuh6H4++kqfxsQhhdYKByfp/RkRiLAEvuIAFuRN4lZw8vfNA4uR/53SUqTLgUUFMobVAuufOM5dAnxfgXSyznBWh5qhNkz4k4oMbtuXty/6BtWPxnesLCSGiBv/X4oQRF/ox4LHvo/l62TtBTmfgnF9pzSTWSarlnW8OvQewX3qYvQX/GS303ItCPBvHTxtzbInyivqPTqA6wkhmNuvfTQai4Hb1D4sUfYJwNaoctxotAfbgS9+Gk/Gli+K/XPPZ+Vck2zKkno6TaEra4LIVufglNEwSdpgM3YoUTq7oR1vrRK1pCs5Qqd2ofLVjyd0OWt33eNWvxz449FyPsstde4CHLYkzhcFHQ731NueExEhY9YmuTTChov2X/eQLcBDT+RRLbZyII7NyQUGRlfMnkOv7mfYQcEjMoSVwaBDOOzeK4oF3lxVCMx7aaNLVThYcSFZ8qx5OjlHNcqHQ+Zhi9/gmmTv/fuTTJonAmnM7rdUTKYS7ncqCvgRzpkLdN0Kx52R8YBEXSVUKGgNxsD3MYcvKihM88kYkINMUZBlMJIrAn0P+ZM8w/ueJzRwcTAzzwFSRAL/Pn5cyIPxQobNMKOgNKrUdsQqhmojbG3nOgHcRVknsqPW/3IbzxZY/8S3BQ0+aaquw/47gLRjEgO45umAAMFeE2ifaOD18DK4IFJ6UHmj8X3xEC5BD4sXtpNlmsoArlZaRD7wMkdR+9rfMxVjQqvY98iBe0BmtrzxkEiBWJ2tNrRY9r8DIfbkXZow2tpG4Os= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:dsbTgzKli6WomKk44HouOi2slUsFPuSvgoSdZNmyHNb5H02QynesF6gkcPK7fUL5/oj0gAvM6lCKM+JAEY2wkIns3XHpmy0JAjZoNeAr2qYsuiQSD0kwB2v8X2fDwQn3krhB/nkIIDOeuD49c2bmSzgr0k8dUTvegSMa+Zighfg= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2017 10:04:50.8674 (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.3.91 Subject: [Qemu-devel] [PATCH v2] char: don't exit on hmp 'chardev-add help' 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: pbonzini@redhat.com, Anton Nefedov , den@virtuozzo.com, dgilbert@redhat.com, marcandre.lureau@redhat.com Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP qemu_chr_new_from_opts() is used from both vl.c and hmp, and it is quite confusing to see qemu suddenly exit after receiving a help option in hmp. Do exit(0) from vl.c instead. Signed-off-by: Anton Nefedov --- include/chardev/char.h | 4 +++- chardev/char.c | 2 +- vl.c | 10 ++++++---- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/include/chardev/char.h b/include/chardev/char.h index 1604ea9..66dde46 100644 --- a/include/chardev/char.h +++ b/include/chardev/char.h @@ -65,7 +65,9 @@ struct Chardev { * * @opts see qemu-config.c for a list of valid options * - * Returns: a new character backend + * Returns: on success: a new character backend + * otherwise: NULL; @errp specifies the error + * or left untouched in case of help option */ Chardev *qemu_chr_new_from_opts(QemuOpts *opts, Error **errp); diff --git a/chardev/char.c b/chardev/char.c index c34b44a..5d283b9 100644 --- a/chardev/char.c +++ b/chardev/char.c @@ -620,7 +620,7 @@ Chardev *qemu_chr_new_from_opts(QemuOpts *opts, Error **errp) error_report("Available chardev backend types: %s", str->str); g_string_free(str, true); - exit(0); + return NULL; } if (id == NULL) { diff --git a/vl.c b/vl.c index fb6b2ef..47bfe51 100644 --- a/vl.c +++ b/vl.c @@ -2344,10 +2344,12 @@ static int chardev_init_func(void *opaque, QemuOpts *opts, Error **errp) { Error *local_err = NULL; - qemu_chr_new_from_opts(opts, &local_err); - if (local_err) { - error_report_err(local_err); - return -1; + if (!qemu_chr_new_from_opts(opts, &local_err)) { + if (local_err) { + error_report_err(local_err); + return -1; + } + exit(0); } return 0; }