From patchwork Wed Apr 26 18:37:25 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: 9701889 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 E39EA6032C for ; Wed, 26 Apr 2017 19:11:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CC8952860B for ; Wed, 26 Apr 2017 19:11:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C005F2860F; Wed, 26 Apr 2017 19:11:37 +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 EC03C2860B for ; Wed, 26 Apr 2017 19:11:36 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4A1E7A08EB; Wed, 26 Apr 2017 19:11:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 4A1E7A08EB Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=sandisk.com Authentication-Results: ext-mx10.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 4A1E7A08EB 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="rPWV/1C3" Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CC7861817D; Wed, 26 Apr 2017 19:11:34 +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 1510118521CD; Wed, 26 Apr 2017 19:11:34 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v3QJBWZI019367 for ; Wed, 26 Apr 2017 15:11:32 -0400 Received: by smtp.corp.redhat.com (Postfix) id 8CECA17AE8; Wed, 26 Apr 2017 19:11:32 +0000 (UTC) Delivered-To: dm-devel@redhat.com Received: from mx1.redhat.com (ext-mx03.extmail.prod.ext.phx2.redhat.com [10.5.110.27]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8372318039 for ; Wed, 26 Apr 2017 19:11:29 +0000 (UTC) Received: from esa6.hgst.iphmx.com (unknown [216.71.154.45]) (using TLSv1.2 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 112FEFBBA for ; Wed, 26 Apr 2017 19:11:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 112FEFBBA Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=sandisk.com Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=Bart.VanAssche@sandisk.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 112FEFBBA X-IronPort-AV: E=Sophos;i="5.37,255,1488816000"; d="scan'208";a="14109887" Received: from mail-sn1nam02lp0018.outbound.protection.outlook.com (HELO NAM02-SN1-obe.outbound.protection.outlook.com) ([216.32.180.18]) by ob1.hgst.iphmx.com with ESMTP; 27 Apr 2017 02:37:44 +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=5vogfxMS53egE4bMVEJSjA4qxkvfEQzH4o7DDvgKvrk=; b=rPWV/1C3yGcusyPsmUw1Sn0JBOf85ZXFl6yrj99S8sOIqSi1EJngNA/39XwXu67QmDNV9tQ3H0K/9+KEr35zKrswkZ/W7UKig7Oj5b9SKy5zZZUGtjyuC0adpM+uTfsMB+ZemvRLbWgqj0SKe4Z11ohVPj0G7H1CIsMnjI9FNRY= Received: from CO2PR04CA039.namprd04.prod.outlook.com (10.141.240.167) by CO2PR04MB890.namprd04.prod.outlook.com (10.141.197.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1047.13; Wed, 26 Apr 2017 18:37:42 +0000 Received: from CO1NAM04FT043.eop-NAM04.prod.protection.outlook.com (2a01:111:f400:7e4d::205) by CO2PR04CA039.outlook.office365.com (2a01:111:e400:1428::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1047.13 via Frontend Transport; Wed, 26 Apr 2017 18:37:41 +0000 Authentication-Results: spf=pass (sender IP is 63.163.107.225) smtp.mailfrom=sandisk.com; redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=bestguesspass action=none header.from=sandisk.com; Received-SPF: Pass (protection.outlook.com: domain of sandisk.com designates 63.163.107.225 as permitted sender) receiver=protection.outlook.com; client-ip=63.163.107.225; helo=milsmgep14.sandisk.com; Received: from milsmgep14.sandisk.com (63.163.107.225) by CO1NAM04FT043.mail.protection.outlook.com (10.152.91.173) 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; Wed, 26 Apr 2017 18:37:41 +0000 Received: from MILHUBIP04.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 78.1E.19026.1F8E0095; Wed, 26 Apr 2017 11:37:38 -0700 (PDT) Received: from milsmgip12.sandisk.com (10.177.8.100) by MILHUBIP04.sdcorp.global.sandisk.com (10.177.9.97) with Microsoft SMTP Server id 14.3.319.2; Wed, 26 Apr 2017 11:37:32 -0700 X-AuditID: 0ac94371-41ba798000004a52-bb-5900e8f11bf9 Received: from exp-402881.sdcorp.global.sandisk.com ( [10.177.8.100]) by (Symantec Messaging Gateway) with SMTP id 1A.6C.18148.CE8E0095; Wed, 26 Apr 2017 11:37:32 -0700 (PDT) From: Bart Van Assche To: Mike Snitzer Date: Wed, 26 Apr 2017 11:37:25 -0700 Message-ID: <20170426183728.10821-11-bart.vanassche@sandisk.com> In-Reply-To: <20170426183728.10821-1-bart.vanassche@sandisk.com> References: <20170426183728.10821-1-bart.vanassche@sandisk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrMLMWRmVeSWpSXmKPExsXCddJ5ke6nFwyRBp0/mC32vpvNarHgzV42 i7aNXxkdmD3e77vK5rF+y1WWAKYoLpuU1JzMstQifbsErow9k3uYCla5Vuw7epa1gfGAZRcj J4eEgIlE+40bLCC2kMBSJonTW0q7GLmA7B2MEquWzGHrYuQAK1qwvgQivplRYs6fHYwgDWwC RhLf3s9kAakREVCVuDXNBSTMLJAl8WL5VSYQW1jAXKJ9wXYmkBIWoJL+iY4gJq+Ag8TmdYUQ F8hLnN2ykxkkzAkUfv/YDOIYe4mHe5vZQZZKCHxjkeh784sZJMErIChxcuYTFohNEhIHX7xg hmhQlzi5ZD7TBEahWUjKZiEpW8DItIpRLDczpzg3PbXA0ESvODEvJbM4Wy85P3cTIyRoC3cw vr7tfYhRgINRiYfXYSNDpBBrYllxZe4hRgkOZiURXtcjQCHelMTKqtSi/Pii0pzU4kOM0hws SuK8WbJTI4QE0hNLUrNTUwtSi2CyTBycUg2M/FpK6o65Sl9u8NqXMbVUxAW4q3xYd6LrdF5Q uZXc1FtmqxqCapaKeQWtr7onv5FHWXbb1eU3XCT736cfZ9WPLDPa8zbp3YbVstqR13jLbSSL 1hR0asRXyWVyZ/gZdN9sWbRKTuT0td/G6TX3by3wmHBJOP+WcI+VSMgfPusdOuuXPQ1jnazE UpyRaKjFXFScCADHT2pfVgIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprCJMWRmVeSWpSXmKPExsXCtZEjRffNC4ZIg96LghYHf7YxWux9N5vV YsGbvWwWbRu/MjqweLzfd5XNY9qa80we67dcZQlgjuKySUnNySxLLdK3S+DK2DO5h6lglWvF vqNnWRsYD1h2MXJwSAiYSCxYX9LFyMUhJLCRUeLx8wPMXYycHGwCRhLf3s9kAakREVCVuDXN BSTMLJAl0d/dwgZiCwuYS7Qv2M4EUsICVNI/0REkzCvgILHsSTsriC0hIC9xdstOZpASTqD4 +8dmIGEhAXuJh3ub2Scwci9gZFjFKJabmVOcm55ZYGikV5yYl5JZnK2XnJ+7iRHsb86oHYzX J5ofYmTi4JRqYFxxcd6PSV/z+49+nu6jydrifb55WtbO1RnRnr7LnST3RQbmXJErU1RsvvRz bt6aj7arn++2/evA/7+S9fEyiTreyfpf96h2u/UWfX9bJ2S/jef7dBVRm9L0+/Y2cybU9atY 3noVHD4r9vTGmG8yHyzZN1Svj3h5c2KN//5Cu2mevqyil9tuOimxFGckGmoxFxUnAgCDhIEn pwEAAA== MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:63.163.107.225; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(39450400003)(39860400002)(39840400002)(39850400002)(39400400002)(39410400002)(2980300002)(438002)(199003)(189002)(9170700003)(8676002)(106466001)(50226002)(50986999)(81166006)(8936002)(76176999)(189998001)(33646002)(54906002)(47776003)(36756003)(77096006)(110136004)(4326008)(50466002)(38730400002)(1076002)(6916009)(53936002)(86362001)(6666003)(356003)(2906002)(48376002)(2950100002)(305945005); DIR:OUT; SFP:1102; SCL:1; SRVR:CO2PR04MB890; H:milsmgep14.sandisk.com; FPR:; SPF:Pass; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CO1NAM04FT043; 1:2OF3PzaCGPpcIDIrgYK/odQE9KwwtaEMj//xXFuOj+tFSC1kcJ71I937qaWwD94Zvr9PdBjhoRtiKjbF2oMFojbxYSBXZvoRJPKYJwJom9L71u5cvXxIDEPNlaDWvsAoh+D3C1F4q+8Kd1SHy8B/JcuZyh3CeT8Rvi3cL9WoeE/lvoV7z0M+Sb3C0XppHFSQmZTX62/2LnCX+P/IGMSX9+MEIJPGWhh98yQzle2ycbCMKboY9FMZwvw/rGyJhEwohs44fWabMDae2gNzWYqLC3Ex7FyPIU1wu6ReB/y+coatzkZc9giidtl4AwLX9iBtN0eZMEg05xdyDNmRPMwOlGb9vL1KVGUO41SXxMvjM/b06dO3p4mXlLAw09mTFenXeAlL2NgTVMcoIKvBcakt4LGMvzR0FhGV3uh6MQk+ptvustV3I2O8qyzRUPWw9cA2WEIpzB+jo36kj2UOrHlOkUo1OgyC/xd/MB2I8OTSK7b0dPjuDp/FxC6AERn/Z4Ci X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5629fb19-4ce8-4bc9-b294-08d48cd3527f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081); SRVR:CO2PR04MB890; X-Microsoft-Exchange-Diagnostics: 1; CO2PR04MB890; 3:3v1UzYD4nrvOsexXsgzTbY1VQDS5tknd/hKSOm5dqntgjUetQlnHhF9v+WM1pSCEmHnvh/NEZpzzDCNk/p3o/l2SWyqbliKuidMl6GRmVIpV48QzrrE3D3HrmmUYhaI6UiV8ZVIAO/AVx1/1Sxegwh+edmUL+RlGa40sg6gDmAmkvgbUWUViTgzZ86UT3RP345tODRU1ENlxkal1rC6z1Uy7MBzvw5U8fPnEJFPz8prB/htjjOTYBeZPm8U967VcT/Zaw9XjtHTeExVUeXDvsy6kXKf4fmperxpttZi9t+nPaWpJfqknCRN630ENwxcjGCgKQS8UTuliU7TlSu68K2nWADhp1ExxKuvwI/BwF+a4Ju7PCycUimMK4G+5qMnmDjMDZ9PIk4yO9kcAy6S8z4JRMHpgagm4ryWGpIe2JAj/3wbJkBfY2DsKILyd/9PLgXz93Qk7+3y6HS48DIp1qlXun4u2l06gvY7a4vstHJrtLFYJq54fu6loAiA/GQVm X-Microsoft-Exchange-Diagnostics: 1; CO2PR04MB890; 25:4p65plh2JOu2JYwXLdFVkEQ7Nerj0u/OS4Ux5+FXypZioddXO+jQmzKUEtlnniJyMeKRuzkZHwPMhGbbumB7SJDMUc3TBSduOVWrtak81VyXLJ4oXVsQ2g/062k3u8nV86Hjma1q/u8JsTk9mgO+aw6iYfsgTkffKrR30o4yexlgh+tHlCyeeHyCRrUosoTY6FWo92CPh/VMMbdXrBLhU9hTak4YhHoG34ToPrIbyGHAKU16X1By/4gD5AxgEBqawoKHgJfVJV8Gf5jyFx0SonFsKhtU8pw5ecuVRfN6qLQh7pSUpj3hCrbh//6OFWkrqsgkIotxPT1fbFN218NBxTfdSrpPFhRZDoJAzJC2JiZ5J5ffscz08juy1+WBvnMcCfqrhs6yFskQOy6cNaKJWx9BicC+JTs8XY8ULfPZ1qwf59atjRI5AFgDofBmcptryTbGKhNWeRkA1o2y0hpw/Q==; 31:Wl8/GG1AF0uErLOdvq4WXDV5l27hB8YS+XWfqaC7HB+2O8QH/JqKTbFlCUhSjOZFUnolK+2afPt1+oITXCcg1lBlgQTxnFSsAH8BYPLySmcMsffyGTt/kBue9XEg3dl9Elx/2d+0xj0x5Ap2ZUbRvhbcp2IJeQbQpQFwztZ9PPGAAv+Nt1UvJDNw/NlIIxqNnIzRvjuGqfooaVLUeImQRl9DybgHQpOawfhz1peKC/3lTNAFkoYgn8G8zkcsNUqU WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; CO2PR04MB890; 20:pkGO/f6RZk/nFsyDfLU5Ket+ZV99DV1KZWIOL8o6DuqrG57jD5oBb2htaKLmKiqu5nPsFIaMgbPIg7mcpQczOdV1HDNUmK4sHhSNbLzOQu9Jpf6SmOIFr+eL0XP2YeS+pUxT3VarVW9yBvMrk5Bas6a8VTGMcPcdowdq/IQ+u+QjdRnxda3JFleHB/fOZ1/KHO+1iHu1pio4B/TDB1AhlYg5fjk6Qp8ersEMzMP/cOZIMSUudB5S/6+y1n75Ny/iK4WubAcIgYx3l15LhHG6AVcqm96ZEJi+U6HWH99T0tWbXiJhuEmK+ptVRpJDHPzJqK/2n8BfWi5L3GhhYWFnTHNUaVnljp7rdIIqE4XHoelef0krHhjE4e2v6bapEoWKWh55yPM4nessYAtetd0KUdGfp+vJqMx5vhDqygNdrcCY7KVgQTQwC99QtLwOdPvZeE4Kd0Y1U8NbmH1KjL6zdYCO2mcfj4vXy2Sg1jqAQKKppWsy1mw63KRitXRTUSZo 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)(8121501046)(5005006)(13018025)(13016025)(3002001)(93006095)(93004095)(10201501046)(6055026)(6041248)(20161123562025)(20161123560025)(20161123564025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(6072148); SRVR:CO2PR04MB890; BCL:0; PCL:0; RULEID:; SRVR:CO2PR04MB890; X-Microsoft-Exchange-Diagnostics: 1; CO2PR04MB890; 4:CbF41IFeEWSrV4QlqKdg0JdhC3tEMFWgBtX172/sgq9tRtPflNqIMi0/Ykpo2ivnlIYrYThtlinR0PTcSquT+i8cJm3pePqwpZr7V+4Wusv/ckoE1E+RjLwjb9+oZlYhH9qAEIbHGjd30gs6SgvyBgCYp3eE5r53UovpFnsZioxe2xUSXpOAIXIYadwGzzbFwPkL0pjsTnihoMh1Is9i8KbRQYxqObOhudVAs5BD/00Kgr8X02crI3MsStSs167TAPJaQDLh6oGT5ZjBgGone7jJpSELcWxNufyU79/uJoT2uEjUfIuBIppihiAhfWWzVoQFQYG5rfUi1br+8uvaHxu/lJkBXmmZkyecNsaPaLRxsyPaVfp1KcBOds2RRjxsNA6bIG06EEVbz94sji67QXBMHgpf+TY91X0hUuk1yzg4aukhb1zVCV8y9lIpShzHfzYH0mwM/TPAPI69axUtx5V8O+EGmLanzacUfL+XS6kaHlOzlHwWTBRdZGQrWIpY9yalEX3QxjrK80skysKmY00/riZcR5hBk3hmNa7TvYJXvHsi1TfYEy5edY33KgFTg+sIR8Tas455r1taEXL7IGAERTfZspZnSmyXwdp0Wb4LejcdGKdMiUmDCqEF3oHbRzQhHacO+OhlUm+ftd15YRVM8suaGGNXKDguNGwHml+5JWuXcVdnZHea1F9CZKB6ZBOIwxSuW671TSZyoFLS+JrDO4OIvmP24EcGHN3hgzDOzhs2uyT/QktN3Q3cP7jGMJF8Cdrvnyo+FFbiCxk8YQUZgpwZDdslpkj7ngVdK2hUZsdkH7cFQY4JOnwHFPGq X-Forefront-PRVS: 0289B6431E X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CO2PR04MB890; 23:JCKWBcZFgL1oBmdxbFlHR058jTP4+GBF/gq6RMHjos?= =?us-ascii?Q?ZDoRtswDKZMRWJyBHaSoKRwXkLfkaWITm1IRfg/L8aUhQb7LQeQbVdhE8nRr?= =?us-ascii?Q?QPtL9jTKTrSsFOO3qOJTNXpmyvuvYOH0UaGNQzzWnQYFzjcwUBizRE3KgD13?= =?us-ascii?Q?ER85JH77CrO+BlKYwYb/F/omuKb/Y/ypm28l8ea/7Xw908YRfOBagfXMh8GQ?= =?us-ascii?Q?/ZZvZLnf9o+Hqse9842Ak1DTkuazZj7afVpj+ZHxEu879KWWqreYjJ2LMw17?= =?us-ascii?Q?VvVW8hYQbzxhjJnb0AoqP2TImCBVxPDPr1V8DyreG6JKz2rCMinTve6HUkMC?= =?us-ascii?Q?QKJfvliPANLk2SrG87gJoMvTqXoyyiuPdvwTI97J07+YX7isJ+U+0CiMt7Vx?= =?us-ascii?Q?h9JFN1QOANG7Ti6GtZgMbUZ+poAQscZ7tukeJVWBFPzi+C+GeQAPnfm/6oyc?= =?us-ascii?Q?LiE6wSR+rgVCn3X0Bo/+gjTmD0oDpa6e3gI/9hp6K07i+Xp42h9XlfcwiC9D?= =?us-ascii?Q?3N7C6OxR2IVbgDNC+G6V+GjOL5m0ncV+42yMbKYS5/DGikKA7iXBzT6wYQK+?= =?us-ascii?Q?72gerir9YqOjo46ypYW0YlnntihMT/KwotLC5E9L/McCtjhN09LNVxnuWz1Z?= =?us-ascii?Q?AM+Iab4lZa7e0N78mSxNM44/CtpzN5xVBxo+NIdyuHokObKrLlFOVXX59SD0?= =?us-ascii?Q?8Lv8+rsSRYCBKr+qY5sugv10K1Lm1jIP3hlYpWN18Mwpetwq/szuSiQA4N2G?= =?us-ascii?Q?/LXlKVtUmGmc4NH/2j9fU81lMVdna+/GgBuw5gc5JaiXa6hbEWSMCe2wkqqU?= =?us-ascii?Q?z0EpairDvWvJG7yCmmYgSzisqOUx2oBNb9R5Ngfdh7DnAaxvhkTrFKYLKIu6?= =?us-ascii?Q?xUZKNA1bjFUxru60sgiEnBKWeI1A+rk6VfvBvRwJZFocZVKWL/CUiWg+g4Ra?= =?us-ascii?Q?GYMKNeFVmXPxXDbN8K6E97EGo4BvSwFhJYrnvbAmBMxXxbMqy27iUTfcfJQS?= =?us-ascii?Q?s=3D?= X-Microsoft-Exchange-Diagnostics: 1; CO2PR04MB890; 6:UjH+ZKngHuoiKxr/XMq8Uy/qol1x+m+tIwMkBbXyGZR2hrx9Djp2Zx66gvvnk2ZsewCTMKAZiKNTvWsGEQIJkMwtH9QIypbVX0xBb09D6ysPDvb1hG9XmKRJnBDXls6yZ5/DVAEF0nkvRCnxkY/6NrkEL4r9xNJz2xLbpDu0eInJRWxTDP0LGvg+PcM9qy/C7mZfuNo4ARPNzfzgpnFz+ysF9nCcPJnGEnbOjPlMFBKmPcTTbgFPk7Lq1IGqQoJKcw0b20E3CFTlBjJmHrl80kJeY8yOcE79F7PXks5rmU5JEJOzb4Ok+d/vmXOrXLHRV6MO4UhOTVkoXfp0kGl17dXuZHzjKFYZU7J7MiaqPXLIkxB864kZmNjL2sZeffEJOYmTQYcTmNvadwkdwYv9AHCRAay0V1biZeVuQGE/2evNPHqMSZqYCZm1h/zlsxnB6dzYZBS6gEs5XNRHRu/ieMMuOpaxImFTDaNXkaiBfk1AmwM0PHKYTw3o5bqjIu1qa2OwZJNbr0OqPAo6HxDHsGNRvZpCU1s3PkTMdSmwH+c=; 5:RTaK4Mm/1z0MGGc0eoBfIjH2JyPQIiq25hYWLDW6BgDez5+M6jjMKTXSQ70s0CX+zfozb7/24LcfcLfum8nVOgqCPRsFxFXKYO1ypmiuXiX8nNG1n9zadw6QZ7BmNi6r6YyHVZgxSYdqlP7SGvfXrQ==; 24:Cnc1Vt4nDN27KuEHvRna4PYXF4AFoT+Am1QaQB0wUWLLHTGoB8nbJl4kVXBjWCnpPCN3Q0aXdMdr9yAabQ5C98pVlMqF7qy8gCIbWZHFXjU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CO2PR04MB890; 7:ulBx0lylHT1HH/WdO2jUZF7pgBH03OC9tappA+nFCEMMtjzH/POy4+Tx3ZypnhyJaA+e0q2tBYeRLZEeTZo1ZQ9zXz85tB1MNU2DGiUekDTBohpw8Sk5s5DsEchNaZr90jfPDRmu+F9KC/uzTwioe/jVPb4+1X3fcZsarPUb8fPJN2JwFVLkcPMu8ASkw0BfgRRN6CAUhZTBO1DwPmPW+50VW4KGDpQI0iQetoRB1ZNaVFIUizC/s9lRRJk5OQBm51KUiF/W29gfaLE5EDmnr+5dviz5eR+wks9axeQPinapNuPFUwLsqYIuuU6c49IdNcUAqtpeDV+4IKeER/KfcQ==; 20:BGs8ifNQ3cDQ7tQ7hT0AIR9uWV88qaxmEnTQ9m6lHyPYyo4PiW2PsCobgWZDsqFWNn02yO+d1IJaAflroGdNFBn9zitCytrTWfeFXcaemlH+Z3vhERNs0lfkNlLBn/Lm/uONZHpNfmLA9a8tVKUUeV6JB8ySRol8Dzpmpk7FOZY= X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2017 18:37:41.3046 (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.225]; Helo=[milsmgep14.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR04MB890 X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Wed, 26 Apr 2017 19:11:00 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Wed, 26 Apr 2017 19:11:00 +0000 (UTC) for IP:'216.71.154.45' DOMAIN:'[216.71.154.45]' HELO:'esa6.hgst.iphmx.com' FROM:'Bart.VanAssche@sandisk.com' RCPT:'' X-RedHat-NoPTR: 216.71.154.45 has sent a message and has no valid PTR record X-RedHat-Spam-Score: 1.192 * (BAYES_50, DCC_REPUT_00_12, DKIM_SIGNED, DKIM_VALID, RDNS_NONE, SPF_PASS) 216.71.154.45 [216.71.154.45] 216.71.154.45 [216.71.154.45] X-Scanned-By: MIMEDefang 2.78 on 10.5.110.27 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: dm-devel@redhat.com Cc: Bart Van Assche , dm-devel@redhat.com, Hannes Reinecke Subject: [dm-devel] [PATCH 10/13] dm: Introduce enum dm_queue_mode 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.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Wed, 26 Apr 2017 19:11:36 +0000 (UTC) X-Virus-Scanned: ClamAV using ClamSMTP Introduce an enumeration type for the queue mode. This patch does not change any functionality but makes the dm code easier to read. Signed-off-by: Bart Van Assche Cc: Hannes Reinecke Reviewed-by: Hannes Reinecke --- drivers/md/dm-core.h | 2 +- drivers/md/dm-ioctl.c | 2 +- drivers/md/dm-mpath.c | 5 ++++- drivers/md/dm-table.c | 14 +++++++------- drivers/md/dm.c | 14 +++++++++----- drivers/md/dm.h | 12 +++++++----- include/linux/device-mapper.h | 14 ++++++++------ 7 files changed, 37 insertions(+), 26 deletions(-) diff --git a/drivers/md/dm-core.h b/drivers/md/dm-core.h index 136fda3ff9e5..b92f74d9a982 100644 --- a/drivers/md/dm-core.h +++ b/drivers/md/dm-core.h @@ -47,7 +47,7 @@ struct mapped_device { struct request_queue *queue; int numa_node_id; - unsigned type; + enum dm_queue_mode type; /* Protect queue and type against concurrent access. */ struct mutex type_lock; diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c index 4da6fc6b1ffd..9b1ce440fc70 100644 --- a/drivers/md/dm-ioctl.c +++ b/drivers/md/dm-ioctl.c @@ -1268,7 +1268,7 @@ static int populate_table(struct dm_table *table, return dm_table_complete(table); } -static bool is_valid_type(unsigned cur, unsigned new) +static bool is_valid_type(enum dm_queue_mode cur, enum dm_queue_mode new) { if (cur == new || (cur == DM_TYPE_BIO_BASED && new == DM_TYPE_DAX_BIO_BASED)) diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c index 312d4fc34430..adde8a51e020 100644 --- a/drivers/md/dm-mpath.c +++ b/drivers/md/dm-mpath.c @@ -90,7 +90,7 @@ struct multipath { atomic_t pg_init_in_progress; /* Only one pg_init allowed at once */ atomic_t pg_init_count; /* Number of times pg_init called */ - unsigned queue_mode; + enum dm_queue_mode queue_mode; struct mutex work_mutex; struct work_struct trigger_event; @@ -1704,6 +1704,9 @@ static void multipath_status(struct dm_target *ti, status_type_t type, case DM_TYPE_MQ_REQUEST_BASED: DMEMIT("queue_mode mq "); break; + default: + WARN_ON_ONCE(true); + break; } } } diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c index 92dbc85af53a..6692571336c7 100644 --- a/drivers/md/dm-table.c +++ b/drivers/md/dm-table.c @@ -30,7 +30,7 @@ struct dm_table { struct mapped_device *md; - unsigned type; + enum dm_queue_mode type; /* btree table */ unsigned int depth; @@ -821,19 +821,19 @@ void dm_consume_args(struct dm_arg_set *as, unsigned num_args) } EXPORT_SYMBOL(dm_consume_args); -static bool __table_type_bio_based(unsigned table_type) +static bool __table_type_bio_based(enum dm_queue_mode table_type) { return (table_type == DM_TYPE_BIO_BASED || table_type == DM_TYPE_DAX_BIO_BASED); } -static bool __table_type_request_based(unsigned table_type) +static bool __table_type_request_based(enum dm_queue_mode table_type) { return (table_type == DM_TYPE_REQUEST_BASED || table_type == DM_TYPE_MQ_REQUEST_BASED); } -void dm_table_set_type(struct dm_table *t, unsigned type) +void dm_table_set_type(struct dm_table *t, enum dm_queue_mode type) { t->type = type; } @@ -875,7 +875,7 @@ static int dm_table_determine_type(struct dm_table *t) struct dm_target *tgt; struct dm_dev_internal *dd; struct list_head *devices = dm_table_get_devices(t); - unsigned live_md_type = dm_get_md_type(t->md); + enum dm_queue_mode live_md_type = dm_get_md_type(t->md); if (t->type != DM_TYPE_NONE) { /* target already set the table's type */ @@ -984,7 +984,7 @@ static int dm_table_determine_type(struct dm_table *t) return 0; } -unsigned dm_table_get_type(struct dm_table *t) +enum dm_queue_mode dm_table_get_type(struct dm_table *t) { return t->type; } @@ -1035,7 +1035,7 @@ bool dm_table_all_blk_mq_devices(struct dm_table *t) static int dm_table_alloc_md_mempools(struct dm_table *t, struct mapped_device *md) { - unsigned type = dm_table_get_type(t); + enum dm_queue_mode type = dm_table_get_type(t); unsigned per_io_data_size = 0; struct dm_target *tgt; unsigned i; diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 78706a04bab4..7161c7804363 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -1797,13 +1797,13 @@ void dm_unlock_md_type(struct mapped_device *md) mutex_unlock(&md->type_lock); } -void dm_set_md_type(struct mapped_device *md, unsigned type) +void dm_set_md_type(struct mapped_device *md, enum dm_queue_mode type) { BUG_ON(!mutex_is_locked(&md->type_lock)); md->type = type; } -unsigned dm_get_md_type(struct mapped_device *md) +enum dm_queue_mode dm_get_md_type(struct mapped_device *md) { return md->type; } @@ -1830,7 +1830,7 @@ EXPORT_SYMBOL_GPL(dm_get_queue_limits); int dm_setup_md_queue(struct mapped_device *md, struct dm_table *t) { int r; - unsigned type = dm_get_md_type(md); + enum dm_queue_mode type = dm_get_md_type(md); switch (type) { case DM_TYPE_REQUEST_BASED: @@ -1861,6 +1861,8 @@ int dm_setup_md_queue(struct mapped_device *md, struct dm_table *t) if (type == DM_TYPE_DAX_BIO_BASED) queue_flag_set_unlocked(QUEUE_FLAG_DAX, md->queue); break; + case DM_TYPE_NONE: + WARN_ON_ONCE(true); } return 0; @@ -2546,8 +2548,10 @@ int dm_noflush_suspending(struct dm_target *ti) } EXPORT_SYMBOL_GPL(dm_noflush_suspending); -struct dm_md_mempools *dm_alloc_md_mempools(struct mapped_device *md, unsigned type, - unsigned integrity, unsigned per_io_data_size) +struct dm_md_mempools *dm_alloc_md_mempools(struct mapped_device *md, + enum dm_queue_mode type, + unsigned integrity, + unsigned per_io_data_size) { struct dm_md_mempools *pools = kzalloc_node(sizeof(*pools), GFP_KERNEL, md->numa_node_id); unsigned int pool_size = 0; diff --git a/drivers/md/dm.h b/drivers/md/dm.h index f298b01f7ab3..4b3b8587cb72 100644 --- a/drivers/md/dm.h +++ b/drivers/md/dm.h @@ -64,7 +64,7 @@ void dm_table_presuspend_undo_targets(struct dm_table *t); void dm_table_postsuspend_targets(struct dm_table *t); int dm_table_resume_targets(struct dm_table *t); int dm_table_any_congested(struct dm_table *t, int bdi_bits); -unsigned dm_table_get_type(struct dm_table *t); +enum dm_queue_mode dm_table_get_type(struct dm_table *t); struct target_type *dm_table_get_immutable_target_type(struct dm_table *t); struct dm_target *dm_table_get_immutable_target(struct dm_table *t); struct dm_target *dm_table_get_wildcard_target(struct dm_table *t); @@ -76,8 +76,8 @@ struct dm_md_mempools *dm_table_get_md_mempools(struct dm_table *t); void dm_lock_md_type(struct mapped_device *md); void dm_unlock_md_type(struct mapped_device *md); -void dm_set_md_type(struct mapped_device *md, unsigned type); -unsigned dm_get_md_type(struct mapped_device *md); +void dm_set_md_type(struct mapped_device *md, enum dm_queue_mode type); +enum dm_queue_mode dm_get_md_type(struct mapped_device *md); struct target_type *dm_get_immutable_target_type(struct mapped_device *md); int dm_setup_md_queue(struct mapped_device *md, struct dm_table *t); @@ -204,8 +204,10 @@ void dm_kcopyd_exit(void); /* * Mempool operations */ -struct dm_md_mempools *dm_alloc_md_mempools(struct mapped_device *md, unsigned type, - unsigned integrity, unsigned per_bio_data_size); +struct dm_md_mempools *dm_alloc_md_mempools(struct mapped_device *md, + enum dm_queue_mode type, + unsigned integrity, + unsigned per_bio_data_size); void dm_free_md_mempools(struct dm_md_mempools *pools); /* diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h index a7e6903866fd..9df51dcdcf2a 100644 --- a/include/linux/device-mapper.h +++ b/include/linux/device-mapper.h @@ -22,11 +22,13 @@ struct bio_vec; /* * Type of table, mapped_device's mempool and request_queue */ -#define DM_TYPE_NONE 0 -#define DM_TYPE_BIO_BASED 1 -#define DM_TYPE_REQUEST_BASED 2 -#define DM_TYPE_MQ_REQUEST_BASED 3 -#define DM_TYPE_DAX_BIO_BASED 4 +enum dm_queue_mode { + DM_TYPE_NONE = 0, + DM_TYPE_BIO_BASED = 1, + DM_TYPE_REQUEST_BASED = 2, + DM_TYPE_MQ_REQUEST_BASED = 3, + DM_TYPE_DAX_BIO_BASED = 4, +}; typedef enum { STATUSTYPE_INFO, STATUSTYPE_TABLE } status_type_t; @@ -464,7 +466,7 @@ void dm_table_add_target_callbacks(struct dm_table *t, struct dm_target_callback * Useful for "hybrid" target (supports both bio-based * and request-based). */ -void dm_table_set_type(struct dm_table *t, unsigned type); +void dm_table_set_type(struct dm_table *t, enum dm_queue_mode type); /* * Finally call this to make the table ready for use.