From patchwork Mon May 8 23:40:45 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 9716859 X-Patchwork-Delegate: snitzer@redhat.com 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 753656035D for ; Mon, 8 May 2017 23:42:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 657F523B24 for ; Mon, 8 May 2017 23:42:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5A01826E54; Mon, 8 May 2017 23:42:27 +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 mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id AC0C023B24 for ; Mon, 8 May 2017 23:42:26 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 33020C0567A1; Mon, 8 May 2017 23:42:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 33020C0567A1 Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=sandisk.com Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=dm-devel-bounces@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 33020C0567A1 Authentication-Results: mx1.redhat.com; dkim=fail reason="signature verification failed" (1024-bit key) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="tNU+/RCI" Received: from colo-mx.corp.redhat.com (unknown [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 16D1E18A22; Mon, 8 May 2017 23:42:25 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 5F6864ED2F; Mon, 8 May 2017 23:42:24 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v48NgMWj008488 for ; Mon, 8 May 2017 19:42:22 -0400 Received: by smtp.corp.redhat.com (Postfix) id E0E8918A27; Mon, 8 May 2017 23:42:22 +0000 (UTC) Delivered-To: dm-devel@redhat.com Received: from mx1.redhat.com (ext-mx04.extmail.prod.ext.phx2.redhat.com [10.5.110.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 97DDE18A3A; Mon, 8 May 2017 23:42:19 +0000 (UTC) Received: from esa2.hgst.iphmx.com (unknown [68.232.143.124]) (using TLSv1.2 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 75BBD8046B; Mon, 8 May 2017 23:41:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 75BBD8046B Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=sandisk.com Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=Bart.VanAssche@sandisk.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 75BBD8046B X-IronPort-AV: E=Sophos;i="5.38,311,1491235200"; d="scan'208";a="112966641" Received: from mail-co1nam03lp0015.outbound.protection.outlook.com (HELO NAM03-CO1-obe.outbound.protection.outlook.com) ([216.32.181.15]) by ob1.hgst.iphmx.com with ESMTP; 09 May 2017 07:54:01 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-sharedspace-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=ULm8YJ/k3+5tbxnRu8+beXEcwyTuLv+rbvWzKUN491c=; b=tNU+/RCIVR3gNoHQUVpOddYiT3kWK7X6BtGyxmZHvfQgZKnItU79C02yprlsmTUtsg2Na0HhUnYhbQe0mR3Qxpch9qDbIgMGIb3rK7F27F4I07DjBsGvY4jy+KMT/N/sAOsVABI5f23tYqE/q+eBJ0QJ9fUzyJQ3jaNMGdan7iM= Received: from MWHPR04CA0026.namprd04.prod.outlook.com (10.172.163.12) by CY1PR0401MB1551.namprd04.prod.outlook.com (10.163.19.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1075.11; Mon, 8 May 2017 23:41:00 +0000 Received: from SN1NAM04FT009.eop-NAM04.prod.protection.outlook.com (2a01:111:f400:7e4c::200) by MWHPR04CA0026.outlook.office365.com (2603:10b6:300:ee::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1075.11 via Frontend Transport; Mon, 8 May 2017 23:40:59 +0000 Authentication-Results: spf=pass (sender IP is 63.163.107.21) smtp.mailfrom=sandisk.com; suse.de; dkim=none (message not signed) header.d=none;suse.de; dmarc=bestguesspass action=none header.from=sandisk.com; Received-SPF: Pass (protection.outlook.com: domain of sandisk.com designates 63.163.107.21 as permitted sender) receiver=protection.outlook.com; client-ip=63.163.107.21; helo=milsmgep15.sandisk.com; Received: from milsmgep15.sandisk.com (63.163.107.21) by SN1NAM04FT009.mail.protection.outlook.com (10.152.88.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1047.9 via Frontend Transport; Mon, 8 May 2017 23:40:59 +0000 Received: from MILHUBIP03.sdcorp.global.sandisk.com (Unknown_Domain [10.201.67.162]) (using TLS with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by (Symantec Messaging Gateway) with SMTP id B7.9D.29323.90201195; Mon, 8 May 2017 16:40:57 -0700 (PDT) Received: from milsmgip12.sandisk.com (10.177.8.100) by MILHUBIP03.sdcorp.global.sandisk.com (10.177.9.96) with Microsoft SMTP Server id 14.3.319.2; Mon, 8 May 2017 16:40:55 -0700 X-AuditID: 0ac94369-548749800000728b-94-59110209f100 Received: from exp-402881.sdcorp.global.sandisk.com ( [10.177.8.100]) by (Symantec Messaging Gateway) with SMTP id 82.00.18148.70201195; Mon, 8 May 2017 16:40:55 -0700 (PDT) From: Bart Van Assche To: , Mike Snitzer , Alasdair Kergon Date: Mon, 8 May 2017 16:40:45 -0700 Message-ID: <20170508234052.32375-4-bart.vanassche@sandisk.com> In-Reply-To: <20170508234052.32375-1-bart.vanassche@sandisk.com> References: <20170508234052.32375-1-bart.vanassche@sandisk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrBLMWRmVeSWpSXmKPExsXCddJ5kS4nk2Ckwd1/RhbrTx1jttj7bjar xZ5Fk5gsVq4+ymTRtvErowOrx+6bDWwe7/ddZfPYfLo6gDmKyyYlNSezLLVI3y6BK6N14RnW gg6Vir+Xj7E3MM6S6WLk5JAQMJG48OsEaxcjF4eQwFImiaWnV7FBONsZJVZeus8MU7Xr7wVm iMRmRokzR6aDJdgEjCS+vZ/JAmKLCCRItF2dCzaKWeAYo8SEiVvAioQFAiTOnnnPCmKzCKhI 9Cy5wgZi8wrYS7x6sgRqg7zE2S07wWxOAQeJ1/e7wGqEgGr2nD0HdpKEwDRWia9nfjFCNAtK nJz5BGwzs4CExMEXL5ghGtQlTi6ZzzSBUWgWkrJZSMoWMDKtYhTLzcwpzk1PLTA01StOzEvJ LM7WS87P3cQICe/MHYx3n3gfYhTgYFTi4dXIE4gUYk0sK67MPcQowcGsJMJr+hIoxJuSWFmV WpQfX1Sak1p8iFGag0VJnPeczNQIIYH0xJLU7NTUgtQimCwTB6dUA2OD66M/WdqscrEH/i/j i53IySy1p6zu4pO6tEMnV/xVC2G9tdFtgyrvS5HzG75Ml9ox/9+z2s0OHfFiZ8Ivf3lgMYlf qPSx24L1Ve7qT30W5V3Y48VeanCiv2MOz6JTvmzsCptN5JRnn2+22P/i5TGHYmHRLsbABomG 7bvn3fu9JXzzvvueN2YpsRRnJBpqMRcVJwIAJUgG0msCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrIJMWRmVeSWpSXmKPExsXCtZEjRZedSTDS4EaPlcX6U8eYLQ7+bGO0 aG3/xmSx991sVos9iyYxWaxcfZTJom3jV0YHdo/dNxvYPN7vu8rmMW3NeSaPzaerPdoPdDMF sEZx2aSk5mSWpRbp2yVwZbQuPMNa0KFS8ffyMfYGxlkyXYycHBICJhK7/l5g7mLk4hAS2Mgo se3WOzaQBJuAkcS39zNZQGwRgQSJa9+/sIMUMQucYJRo/zaDGSQhLBAgcfbMe1YQm0VAVWLn 07VMIDavgL3Ehwu/WCA2yEuc3bITrJ5TwEHi9f0usAVCQDV7zp5jm8DIvYCRYRWjWG5mTnFu emaBoZFecWJeSmZxtl5yfu4mRnCgcEbtYLw+0fwQIxMHp1QDYzL3iRp5rYcnZj6/PtP78lSf g0VzlAwyTgaF7QxInyGo4vFScq/atCDeXS/O7Zx23820miVyyqL3Xk3qU6SqOTcxZ5qz73h6 SVVc+CAXi3HO66Pi7cuTJizYw3OzM8Jg9333Y8v7ljL7tK4zDGby3cmYc+Tr6q8KDTMCVO6s Cnt7/VtiCatZkxJLcUaioRZzUXEiAJWmtJ/EAQAA MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:63.163.107.21; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(39450400003)(39860400002)(39400400002)(39850400002)(39840400002)(39410400002)(2980300002)(438002)(189002)(199003)(9170700003)(189998001)(38730400002)(2906002)(5660300001)(47776003)(50226002)(77096006)(305945005)(5003940100001)(8676002)(478600001)(1076002)(81166006)(356003)(76176999)(86362001)(50986999)(48376002)(6666003)(2950100002)(8936002)(36756003)(53936002)(4326008)(54906002)(50466002)(106466001)(33646002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY1PR0401MB1551; H:milsmgep15.sandisk.com; FPR:; SPF:Pass; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; SN1NAM04FT009; 1:/X8vq+lXyGbeZsFpsYfoJZp2FOQHZ1sYboLkm7rDEGT/wrH2T4f++L1g1YUuvD7uSvJJErkc3nrgQnkMD7K+HSAFMHungRhDmBtx9u9ApoHeM/X5oFpgy/0iF9ATQPEOu9SNMqkMVLbPauguWjTHeqQcKOn5iDoFVTa4lvOCh5OfLFe+CH5YC9MFKoTjNtb7e6P7LZnOqQWdJCWkaLF7Ii0Yy0q2FP1lbxXzwma9lRTrqgo+WLrOmr3B8Ag8en+hkcdIm/RXFceLng6vEFI8XvyMj1Cb+QMb+d7rfd55cb8Ucb2jty+0dq/sUFv9Zn8uKBOYsfiVjPnPHymV1mA6ut2e6dKwuoJAKuB8MzG5gCNVtMFqm6+pQQSgnqWmSChA2q67c1d4PYRCZHeHHQSbYhHWYePtJ+usJZM9VkHBWv0FgrUb1ptlpc6KyRMQF6qrljyOBxqkCB/6PGcylp5sY1eNEU3u++n8hx6y9ugPRhe1SybzFDCUoYZrbDwTAAjMZwvregb9cHr/SelVHwoMDvVj9oRCTI8VaGSuP9mwQ70= X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1b35dfb5-3009-4696-0c63-08d4966bae3d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081); SRVR:CY1PR0401MB1551; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0401MB1551; 3:CuEhGz1LB1DIplWYY8fqMEmTbkVCAB2HtuQZeaQBmfB5j9poU/LsdVcZeYZpll6oc+0JUfhEXZuOfdQm4W+mbPJvW8bp3tDHXD9ehVjTKVLQDZ2fkal4ItV2m3PJSllvZf88GsjRkr7VZ9puIvcsCFq+EgdntNYvT7I5vRHGRFc6x+H/K+i9UWzVHVIPCLxc6Q7m4gaOlT1qaD19aQmlvMIqNFU2MfsKhFAIMVOyCByS2L6AjghlRXi9lqXiOcdz+JkzX2iITtzO5cY+AiRvb0uNW+J1agG6cbhY02KOf6g4oqQIxX2va4OImwaKuUTRgioRB3tf1teU8sBQZgAJsuyZeo/1qTzwro72QX4KbPzMowvOC09+G0aIPwTV/Fa9AhUDTXNw62wGrqD+T5ME30PVDbyneNUDzcJxlDTcRj9JYc7T7Nc7u8DRsdjXr5ilHjm77XZfmooAdNnRJkHjEpNGaGmV2kJg3OJxncYxzoiOi8gYzn/ZGGjNpiybVbB9 X-Microsoft-Exchange-Diagnostics: 1; CY1PR0401MB1551; 25:zAbBdfbXaNYKZMh3OGVCCHn4OqsqpLMGMiDADWcbUtGAqQa4Co9CIgs+Qcd8ObV7LdjdUlxFQsnCymAifXlz8IAls2aifIBYb9LVgjcte5yZOU6w4KaeTca8URg6K3U5T8Sw/fGxzulw8IO0w62KhUKIg2Sk6LJRqM2u3CviNSMA3vfZB4gQNwA6BzLrrqvcOd0WS1uLivuRJWzN/CPaUFWoNRAU9cNgzdbCbjyQqEnR8F0hQbvPeLIczRUUA1meowefnRmXDn0RyX1Aiwi1YJY5lUhXP5FKmFqQN5O8Np8kgefcpORqIwpgVe/DGy2wqgaNUZc+Cfbw1knl99uxEeKesvhD1fUkWgCUp84vOmSqNZz4bvtjbMNSIIDddyC3opHnh5r2Gm3dQsnO7vPHSTcf20rstZ6tUe4aT+Q/fByZklbczcVJukodVeQXjvWQS5dR4GhRWvcjWYg3BPbSFVDsyyqAmf9e7itnhOg4uNo=; 31:JZEwcGG1MCMynoLOx+faFw0RRDIhiLMvJcrTUUHC34riP3OVzgnvA3eyPjerQI2HFIHzon4V8RuYzZmwK9BYrdALEf3t4KVnfvLWiYKh45YR6Sj9l/zXidix2zNsd4baICO1auWIPSOkm1NAuedqifVmYQHFhRUzxG5Y4zxjL/jymRACsCY4lCeSQU7jDnnI2o7jo/96SeZSERfc3mZ1HcW9x1pIqXXY64cylOpWQpsA9Gs1/jHeJ6dXOJw9IC75LfNmJ/qhqld4gfwpYgg9zw== WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; CY1PR0401MB1551; 20:kyiPw+HtJWTeYOdKFdSmh8oyib1lP2ba6nW2vwyySohXlRtvhlVyNQb8ncbaNCwGogTdBqD8KdY7FQfbyB4o2tVkJQ8BUkehymGctQPcv37PBAp+2bE0Fq5ESjG8PtkV6mTNFpNb5RfLTMnm7vo2Uk0t/FK20L4t/22l65NJsa2w39x1vreA29g0WnzPlx5yQcjgRGZHYPmLs0JuD7Np5THmsMY7/KqNhJU4R1xmM0hWeeFwBUwICQoXl07YrmZWCwNGC7h6Mec5lwfjR9im6VjxQ/LmE4UoOXA/3QAB9aEv2vAGTuZFeLBmEEcdPdlZmO399abC9seFDEfz4XQi/yQrK387vtFZQrj/x7W5V4Wd0yFarCbLzn8UfTFeWY8lymzCPaE5Sre1UC1Nd+xy0l1M2pLXTkPpqwxh/lTqLbnZFdfciq2TQXWi3/Go3yyrWXhbJDNWSTB2EIpJ7OXk48iIMqV/NHO+7Yi9Lc6yU6lUd7XmCM+htwGVxotYnp+V X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(42932892334569); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(13016025)(13018025)(8121501046)(5005006)(10201501046)(93006095)(93004095)(3002001)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(20161123558100)(6072148); SRVR:CY1PR0401MB1551; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0401MB1551; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0401MB1551; 4:xUi/PXpLQhsdtEyCBFUDsPzU/64AYRv/wF4yIREhB2/st1ZJOQZCut1vpvr1vAweb1dJyWHmvX0+jC38+lHQtWlu/qCsp9IN7TCCk5HLjTY3UxmkxZZsOJeXMVUdm6wP5kIz54/mgAuC9/+v8QfTj+QglbFhoipRzHXNUSI8MMo3r9veTV9FbIyc5ZGNjv6hLssUmlzJT6U09z920sc9oNuBoqH5eB3QwdSjTW5yVsLWILnlKuKQ2wLHDLnAc3auH2AtsWBLpKBV0iWv53FpommBCu2yAqb37laR8vo3iTdOwlr3ZWbaCxk4uBd57+r2IcewiHsYxGFYqdHRpAKhkRYLMPcKSfqF/DoMd+yXHhS1hxY+6pdm38oz4yiBFggBWI5SZAI6sUCWF82DflJ9DBdkMyzKn+QGG5dZ30wPgmkjUjwkeRKIFeo6bTzqjftt1Udopg8Aoj/Fd4UTb+RH//WzJOvvbQ8pwHX8RqUCXwvq+0Dp7DopYKLa3y+V1RakBlWF/Ms7Da0EGfZpOq3hC0E5f+QEvPchAH6RCcp1R4gVJv+PYaoOOhS6Eo92IefQUbdHbDxTex423f5r6J7o3xsWqPk5Kuk4Fa3dHsNPfSAJL44GGKDPnz/tLVx/HwkyWKLQWbxCqhmLdad+FVHXj3U4Kj+7ObyNXe5WOB1uHfXTcd9oXIzJLTdyJuynKMeAd01VncPRt+752CdREfc6rv30NdB6S0IyVGkCXeKbp9DVyMVj77sEtmU6/E4Vb5OMiKYJbOWYBNVdVMRzUcDd4YGvgItvy/E4V8EtM4mYhxEHCl2hPHyXxM5frPI2BH2McqsVlhVTTH5xIpVu4NyJuFguaHqaaVshe9fios+9mFdLls3hYNE4qSQwkp8qxouu X-Forefront-PRVS: 0301360BF5 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0401MB1551; 23:ts7kF2bCbD89EAnDwvtjVEWCQYIAEhtZwgH8jDd?= =?us-ascii?Q?ETIAzfkMYzgOpI3l0EtWTFRMAoO+HhsE17T8giddn6Sv5ehSpyr9DPZGK9V4?= =?us-ascii?Q?zveJh32xPh0FPNiy7cefPlfpg+wJGcZNyMYBxwttQBuPWNbIcTq8VTzEVpc1?= =?us-ascii?Q?N7oSWayGdIxY8Y42curJG+QJcpoZGA8ipDsd1q6RA4kRcFfjfVCvoxD+cY7O?= =?us-ascii?Q?MFExavBHuIAPb9xLtiOz9r4neju1CvI6seDAouNptPkDMGSe5PF+tXTamubE?= =?us-ascii?Q?Vl7hHfB8zK5Ak15JXP5TalaPU4Hq4R5NVlSJt0vccT29vSYhPHJtTHj7nfm+?= =?us-ascii?Q?CliPjZrNHTi6c+68zZad7UYJ4VJVZykXH9cKZmhlbxx4+fZELETP3ZxrrEHf?= =?us-ascii?Q?Tensp4zKg4cFtj0bnMCYF4npSc5BFQOgz+9qXmw1ZcFdNTZtUKscvFwmp8Cb?= =?us-ascii?Q?XC1FVcQAMOUd00sqAJgVZH7CZmUl9nBB1Wmtw5L1VMQe1v0vWKtZLOqXjSew?= =?us-ascii?Q?7cBDJ5reQ33n2JfmfPdf1NKDDT6oUYMbaR3bFRhWywXDwv+Wrs8Q1dECbMU+?= =?us-ascii?Q?vIrB/fWaSGDxdSrTeQJY5xB6+v7D5YuAmRjPZhp/sRZcyG0lpQ8fiMNkF/Jd?= =?us-ascii?Q?cp7UnKD7hKDMHtHgId33Twj5RVjH5n5A62oSXMGSLIIwdqK0IqCFwO3ADMJt?= =?us-ascii?Q?NfYu9JK0+/lr0+evkI4EmZz6LU6/w27Heus21OcQdm+DapxuCxxd00GmEM+C?= =?us-ascii?Q?KEnIjVDkbzdlMrfh/kYk+/i5HVr5y0pC4tAk+nxysetWTF1NAbqmowXeFJpn?= =?us-ascii?Q?wgmaWv0h0/lU7GifXTOZ+GkiSj3Ww1gXU6e00xcdgAkuY0xTwoCAK9P9mgXm?= =?us-ascii?Q?lmDpSbccu+hPnVxSBPbMwCQUNfSiS/i32zxcZAtDxwC6QCHRYpRcT26/829C?= =?us-ascii?Q?tz09aZfhRaj4uExlNUYAGLa9dz0Xr+1oMNEtYcN1bWXN0iMj2A+txdK48Z+o?= =?us-ascii?Q?C0xV6R0c0hlObtwJ5WdjgV3aOa5qrXJpoz1aaSgclO53DDg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0401MB1551; 6:8ciTAep2dHHtJo6oQWhTiFFdM+8ELjInxVhGw6v7M7zVA14yb0R0PEvVV1monc0WDib1oNbc+p997dtrOD10tleAxeyD1O3TsFxAGnEz2hlIBd0MaWzR5lx095GoOZUgFVMH6+NxirzipMw50tNSKN5I+YuZY3UhY1r1aHbwy+w8mWnRSQcLF6RRF3nCRwcgSmNwOaBgT+7b4X7ZFPZiosKokSNPC4JBiAQYJNXc0yXzNMuMP3NNYxuELIKz8b11JqWdRpg6BkEbbpIB/ESXUQTxBcryz8oU4TG8+b+KPRhs6WCnJArgIVaK622Ub8SQ8czjRCRWupNZ/TavjkxqNnEkukYjTRez1hBjIy0MthMu/6ateu0cSWf8xc+zu+bX/yFXbvIvxwfMJ/JfqZY6V6NHGpnryfdYE/6XXdJqbmllJBFVKU012cJTmoQ4hCS+B0J7QZBovIF3d6e7WtkyhDbsjNCeO8k25ZvKMcxNVefRSYBN8O38SlsGpPqLNgAQDqTdQ1awhp5ILRERFsmU7ChnAI3c8C7y4x8LF8Qf4ZQ=; 5:sPB+b5CW5YrDzVBuFwNk0KaXWUQxu1W656rT4NMPDH2fmyvAVRBfDCIM4D/BiOb6jGkrGrDK1wY0a5uxDahnEN0+MFPEPB9JNO1xbg+rT+IX4FnrkH/SvXTvHopwfQ/8gY7+pwDQ5dRG/MB9ZttO0g==; 24:R7FTwNkoQhSHe8RX9RuZPKQf4h36tYNWCm8VE4BhEsjCElsSM+ArNEFPr722428vYrTvtGVVXXRZ+tUBCLXHaWc/WWVFu4sAadLtNKKC81U= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0401MB1551; 7:VsNKrxTXHJ2elSOR6GK+aa8TlUvLoUIM1x7oWP2bOIn9sBVzM0HWi7KwDTqP4uuOq606UfWsUucV30DqIipTFd9Q4PA7JgjTlen3X+8ZLjbc33RLRHtkP6szPTDxdr2nuDb+o86zUIKq1py66YJTkJ4sNcOM2NFbKP/4WSrVf80B85oq2QVrPN+TJp2zFHVO0XMy5YDBoRlr54V0BzpVAotmgx8kZZ+MFwtBnoIB7aFt4CUx+dyy/Rn8Vpf/kMk4ptOC71n/eehU9guPYaDS7dXSNtxd45vnj/TLZPGGc/iAuBXNSa8dBT+rJ0thJ7Zrm8TADnBhYhPjT1/Y+YQZ1A==; 20:Ionllfq1fGEZHngKLzcSb1M+u3WxHaHd1vnK6jku7FmsFPurGdN9pv7qNr4ngDUGJHp+0v/d1/oX1HAJB/DOfiXmEWlts4ixf556Ff7NLJUY70O1gdPQ3awg77XO4e9rz1G6+5rQXfu/6RtKGj75hbRSHIDPJyaREQKysAYjqIY= X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 May 2017 23:40:59.0298 (UTC) X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=b61c8803-16f3-4c35-9b17-6f65f441df86; Ip=[63.163.107.21]; Helo=[milsmgep15.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0401MB1551 X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 203 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Mon, 08 May 2017 23:41:46 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Mon, 08 May 2017 23:41:46 +0000 (UTC) for IP:'68.232.143.124' DOMAIN:'[68.232.143.124]' HELO:'esa2.hgst.iphmx.com' FROM:'Bart.VanAssche@sandisk.com' RCPT:'' X-RedHat-NoPTR: 68.232.143.124 has sent a message and has no valid PTR record X-RedHat-Spam-Score: 0.493 (BAYES_50, DCC_REPUT_00_12, DKIM_SIGNED, DKIM_VALID, RCVD_IN_DNSWL_LOW, RDNS_NONE) 68.232.143.124 [68.232.143.124] 68.232.143.124 [68.232.143.124] X-Scanned-By: MIMEDefang 2.78 on 10.5.110.28 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: dm-devel@redhat.com Cc: Bart Van Assche , Damien Le Moal , Christoph Hellwig Subject: [dm-devel] [PATCH v3 03/10] dm-table: Check block devices zone model compatibility X-BeenThere: dm-devel@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: device-mapper development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Mon, 08 May 2017 23:42:25 +0000 (UTC) X-Virus-Scanned: ClamAV using ClamSMTP From: Damien Le Moal When setting the dm device queue limits, several possibilities exists for zoned block devices: 1) The dm target driver may want to expose a different zone model (e.g. host-managed device emulation or regular block device on top of host-managed zoned block devices) 2) Expose the underlying zone model of the devices as is To allow both cases, the underlying block device zone model must be set in the target limits in dm_set_device_limits() and the compatibility of all devices checked similarly to the logical block size alignment. For this last check, introduce the function validate_hardware_zone_model() to check that all targets of a table have the same zone model and that the zone size of the target devices are equal. Signed-off-by: Damien Le Moal Reviewed-by: Hannes Reinecke Reviewed-by: Bart Van Assche --- drivers/md/dm-table.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c index 3949897..bac1438 100644 --- a/drivers/md/dm-table.c +++ b/drivers/md/dm-table.c @@ -506,6 +506,8 @@ static int dm_set_device_limits(struct dm_target *ti, struct dm_dev *dev, q->limits.alignment_offset, (unsigned long long) start << SECTOR_SHIFT); + limits->zoned = bdev_zoned_model(bdev); + return 0; } @@ -721,6 +723,94 @@ static int validate_hardware_logical_block_alignment(struct dm_table *table, return 0; } +/* + * Check a devices's table for compatibility between zoned devices used by + * the table targets. The zone model may come directly from a target block + * device or may have been set by the target using the io_hints method. + * Overall, if any of the table device targets is advertized as a zoned + * block device, then all targets devices should also be advertized as + * using the same model and the devices zone size all equal. + */ +static int validate_hardware_zone_model(struct dm_table *table, + struct queue_limits *limits) +{ + struct dm_target *ti; + struct queue_limits ti_limits; + unsigned int zone_sectors = limits->chunk_sectors; + unsigned int num_targets = dm_table_get_num_targets(table); + int zone_model = -1; + unsigned int i; + + if (!num_targets) + return 0; + + /* + * Check each entry in the table in turn. + */ + for (i = 0; i < num_targets; i++) { + + ti = dm_table_get_target(table, i); + + /* Get the target device limits */ + blk_set_stacking_limits(&ti_limits); + if (ti->type->iterate_devices) + ti->type->iterate_devices(ti, dm_set_device_limits, + &ti_limits); + + /* + * Let the target driver change the hardware limits, and + * in particular the zone model if needed. + */ + if (ti->type->io_hints) + ti->type->io_hints(ti, &ti_limits); + + /* Check zone model compatibility */ + if (zone_model == -1) + zone_model = ti_limits.zoned; + if (ti_limits.zoned != zone_model) { + zone_model = -1; + break; + } + + if (zone_model != BLK_ZONED_NONE) { + /* Check zone size validity and compatibility */ + if (!zone_sectors || + !is_power_of_2(zone_sectors)) + break; + if (ti_limits.chunk_sectors != zone_sectors) { + zone_sectors = ti_limits.chunk_sectors; + break; + } + } + + } + + if (i < num_targets) { + if (zone_model == -1) + DMWARN("%s: table line %u (start sect %llu len %llu) " + "has an incompatible zone model", + dm_device_name(table->md), i, + (unsigned long long) ti->begin, + (unsigned long long) ti->len); + else + DMWARN("%s: table line %u (start sect %llu len %llu) " + "has an incompatible zone size %u", + dm_device_name(table->md), i, + (unsigned long long) ti->begin, + (unsigned long long) ti->len, + zone_sectors); + return -EINVAL; + } + + if (zone_model == BLK_ZONED_HA || + zone_model == BLK_ZONED_HM) { + limits->zoned = zone_model; + limits->chunk_sectors = zone_sectors; + } + + return 0; +} + int dm_table_add_target(struct dm_table *t, const char *type, sector_t start, sector_t len, char *params) { @@ -1448,6 +1538,9 @@ int dm_calculate_queue_limits(struct dm_table *table, (unsigned long long) ti->len); } + if (validate_hardware_zone_model(table, limits)) + return -EINVAL; + return validate_hardware_logical_block_alignment(table, limits); }