From patchwork Tue Oct 4 17:41:11 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 9362169 X-Patchwork-Delegate: christophe.varoqui@free.fr 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 E36A4600C8 for ; Tue, 4 Oct 2016 17:43:51 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D68E528B82 for ; Tue, 4 Oct 2016 17:43:51 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CAA9928B92; Tue, 4 Oct 2016 17:43:51 +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=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) (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 93B9028B82 for ; Tue, 4 Oct 2016 17:43:49 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u94HfKv6038148; Tue, 4 Oct 2016 13:41:20 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id u94HfIiR032732 for ; Tue, 4 Oct 2016 13:41:18 -0400 Received: from mx1.redhat.com (ext-mx04.extmail.prod.ext.phx2.redhat.com [10.5.110.28]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u94HfHIu002917 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 4 Oct 2016 13:41:17 -0400 Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0063.outbound.protection.outlook.com [104.47.33.63]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 38EB26A6C7 for ; Tue, 4 Oct 2016 17:41:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sandiskcorp.onmicrosoft.com; s=selector1-sandisk-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=TslZGBgzs98XVfkkmq8wvxZQKG1xwvxDCq06UrtNINw=; b=ciUcRVX1YzAE/bUlc5L4G+F24vaBXHDb0aLoTyECT3yzNcJAvQHMnsJFBT/SjXErMziV26P4tvr1gAS8ylObMx4rhfQMNCRYNUKD0VPZieNz/R1Jdr1lDRiH1qR9khX/P1C/aLblT0J46kx8chMh2112z6e2YMbdFNoL7jIWUhk= Received: from BN6PR02CA0060.namprd02.prod.outlook.com (10.175.94.150) by CY1PR0201MB1913.namprd02.prod.outlook.com (10.163.56.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.649.16; Tue, 4 Oct 2016 17:41:13 +0000 Received: from BN1BFFO11FD037.protection.gbl (2a01:111:f400:7c10::1:164) by BN6PR02CA0060.outlook.office365.com (2603:10b6:404:f9::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.649.16 via Frontend Transport; Tue, 4 Oct 2016 17:41:13 +0000 Authentication-Results: spf=pass (sender IP is 63.163.107.225) smtp.mailfrom=sandisk.com; opensvc.com; dkim=none (message not signed) header.d=none;opensvc.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 BN1BFFO11FD037.mail.protection.outlook.com (10.58.144.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.629.5 via Frontend Transport; Tue, 4 Oct 2016 17:41:13 +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 0E.EE.61581.E97E3F75; Tue, 4 Oct 2016 10:32:15 -0700 (PDT) Received: from milsmgip11.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; Tue, 4 Oct 2016 10:41:12 -0700 X-AuditID: 0ac94371-5f3ff7000000f08d-e4-57f3e79e3e20 Received: from exp-402881.sandisk.com ( [10.177.8.100]) by (Symantec Messaging Gateway) with SMTP id B6.AB.02783.8B9E3F75; Tue, 4 Oct 2016 10:41:12 -0700 (PDT) To: Christophe Varoqui References: <157defac-6527-ab23-92f2-9c1926042885@sandisk.com> From: Bart Van Assche Message-ID: <02a280ce-4b85-4721-1375-c1a681f333e1@sandisk.com> Date: Tue, 4 Oct 2016 10:41:11 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <157defac-6527-ab23-92f2-9c1926042885@sandisk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrBLMWRmVeSWpSXmKPExsXCddJ5ke7855/DDfo8LNZ9nMtmsffdbFYH Jo81t0+zerzfd5UtgCmKyyYlNSezLLVI3y6BK+PIw5NMBT+VKya/mc3UwHhUpouRk0NCwETi 6a0jjF2MXBxCAkuZJOa8n8QM4WxnlHi2+CgLTFVr9yY2qCpGiR3nHzCBJIQF4iVa//wHs0UE zCXmn1sG1iAkYCfRtOEoG4jNLGAs8XXHb0YQm03ASOLb+5lgNbxANW2b3zGD2CwCKhLTzzxl B7FFBSIkbj3sgKoRlDg58wmQzcHBKWAv0XMqDcRkFtCUWL9LH2K6vMT2t3PAbpYQ6GOVaG4+ xQhxgrrEySXzmSYwCs9CMmkWQvssJO0LGJlXMYrlZuYU56anFhia6BUn5qVkFmfrJefnbmKE hHfhDsbXt70PMQpwMCrx8HZs/hwuxJpYVlyZe4hRgoNZSYQ3/AlQiDclsbIqtSg/vqg0J7X4 EKM0B4uSOO/F6I9hQgLpiSWp2ampBalFMFkmDk6pBsZ+rlNfzrMfPllroP3Q8GTHqxTxrqqf mnNFkl8liP83nhBm9XqrhgjnY6eZDJWpCfWtc7dIubTcnirL26SoIvQg98n2BVf3mUv8K+Fc 2LVlHmMne/8fYPQ7iu/iStroaXfxlGZDRIJ13SqDlbVGQdEnk5JPf9g050Wr1gHrU9L/lzaf e33VRomlOCPRUIu5qDgRAICUKnRrAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrAJMWRmVeSWpSXmKPExsXCtZEjRXfHy8/hBpf2Klis+ziXzWLvu9ms Dkwea26fZvV4v+8qWwBTFJdNSmpOZllqkb5dAlfGkYcnmQp+KldMfjObqYHxqEwXIyeHhICJ RGv3JrYuRi4OIYHFjBItBzezgCSEBeIlWv/8ZwKxRQTMJeafWwYWFxKwk2jacJQNxGYWMJZY vH4+mM0mYCTx7f1MsBpeoJq2ze+YQWwWARWJ6WeesoPYogIRErcedkDVCEqcnPkEyObg4BSw l+g5lQYxUl3iz7xLzBC2vMT2t3OYJzDyzULSMQtJ2SwkZQsYmVcxiuVm5hTnpmcWGBrqFSfm pWQWZ+sl5+duYgSHGWfkDsanE80PMTJxcEo1MGZaf0gIXFP37s690E9+hU9cDR1krmtN8BNb sX7FvFu7npoGTS6Z9XWj6qv72ycwKJlbzwnZXfLEwDpzt73At1Ploc8XdPx84pMU25Dl2ft7 csazR9a87yzOHvr2RvFzraDmSas//dN0q4+9uyvkXmO/oVy44OzNqhVbki12MWw79ZyvetYM FS4lluKMREMt5qLiRACpWm1+4wEAAA== 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:(10009020)(6009001)(7916002)(2980300002)(438002)(189002)(199003)(87936001)(69596002)(2950100002)(230700001)(6916009)(92566002)(68736007)(8936002)(97736004)(81156014)(81166006)(8676002)(11100500001)(64126003)(305945005)(356003)(83506001)(23676002)(4001350100001)(36756003)(7846002)(65806001)(189998001)(65956001)(229853001)(110136003)(4326007)(31696002)(106466001)(86362001)(77096005)(586003)(76176999)(54356999)(2906002)(19580395003)(19580405001)(65826007)(5660300001)(53416004)(31686004)(47776003)(50986999)(626004)(2270400002)(33646002)(50466002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0201MB1913; H:milsmgep14.sandisk.com; FPR:; SPF:Pass; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD037; 1:7FXtZLJeGdkqwcyS3++CKkoJ0O44BzN9dJZcUtcLntxWyGQSTPlk6jb6Wawc+CUtYHK/WG+O4lIVi/cOG5TdHxA/yJs0HmX87AbcIyOzJDMEt2jKJV+UCMu+dF2Rnj+5IxAX5s51Sk6Sf83/M03ef3Pv/XRSJvVfu2uBjm53c46xtsusHXZnCnFsdS3W7+Pq/AHR1lZ+4rCj7j58PjrB+H7i+xPWc82nQHd+LeMW1xUSdh+wpBbZtuLiGviMaJPwI8eChEHjBN5XVdGpRXCjqd63E2UNxeKSyjeK7h0/+PI7mj+e1aWavN4Dum6XqiZZ2+66uMyFm6vQ+s7X7YcABc0fssTG49vk3wmMGpAgRrNHnIcvAcxOJy2m79cbbPJQzLaCxHQHr61tqqpnEnWkBK7XgRKqqadQzp47J6U3KIDB2B/X+D6e/Scbvrg9KU1NzEIBIne+aqX5vDCt1oAHza1yXL29FgNW2boTD13lt0M= X-MS-Office365-Filtering-Correlation-Id: 9a477f7d-6646-4416-b28a-08d3ec7da2c1 X-Microsoft-Exchange-Diagnostics: 1; CY1PR0201MB1913; 2:bOiQFEoR15KMyQgDthc3VRbN45Sm5EpOkiCms9Ek8dqrlS35MZJCdPgi4IQYiSn/fuUzf/UiWzrcliRqB1SK67I0JA545Ux4VskaSEOQ0BiK1zk9p7RboLCnN5NTvycn3ENhJH4Aklrt9YJSzQtpTa/IcfueVDQ2dT0fCmoS9XlBegnAao0ZBRdpA23yUKLZvwDYrYijmpfRy2A/U+9kug==; 3:ZRclDIYBFMhnQwjZmuXQPP6ehPIlUIGvPS0J7ZlUeaZWfDrky94JhHuJwC8eo7BUdJ9cpdPbRF5Iei/tKkzhri3Ls3i6YGk5v9upq5f04IaKPVqxo6fEao7HOWVF9pXzKa+eGkP2k8LbW3AB1xzucq6nA/NW4yk3eFbOxgQ97m6xmOW2nEfeD13AFhiNSVA+FXCORAWjlQb4fe7NnNyEBBDNnNYUPLJkBsrnU5TFc9v9DjV40rIGJWpTf1HHccGS9EnT5n4KMwxVmNFzZT+5SSrNprM/86ly2o/z+dIipfA=; 25:kfY3evpXxslB+lOcUh2uDrTm9oEhMaFavmmEjG9WOcsdn3quElqDloV5Kr+ofCdFfC/9AGANftznylfPW+G+SY0D/wWZtoDMEvPueAy0e5aS1XxOoJLdRFT+iLH4UCptEXb0ybiBaqcmMHiEaBpWVsWE068MZ9rpHWgCZJGOvzOGR6EqdTlz8ahUp5RWOLGJ5BfsSYnCh3iu6WX5PzM6vEToo+wqswCY8XhViidzx/nQ+vKwXN6fPL4Xl3xi53WdkQUuNlx3NmY2VSvIk7dji2kJi4DDtAtS9fQn5IUEhQS5CA4cEXE8oCJUCQFPoxNjIZh9txy+S8ikopPngvsfuzBkhCPdizbO0fGFaXqLJGRoe9WWdUwbl0QNCpitNOM+A+JJZ4cwxh0VR6HXLFpb48yoJMvq4m22G9BwkFLdHrP1J8On4wGMOYx40I3tm! kcD X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(8251501002); SRVR:CY1PR0201MB1913; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0201MB1913; 31:QPzHEH1SvUF1F9xA2bxVG5lTdV4k+r5lM1XWkXcn9kfUPzWakshw9Uht8hQ6E3Brbo4Mu4yp6lRd7/5E845/1qDraDrlGH0BJBZ5nK4MjNpr7sYlT+lzo6/s3ZujZAFs/7u/arMo3Fpls0LN6OvQfrIczOkeY8jT8czkhiJWqyiz1pcYvdvqPpDCtygNyqOM36WCb9I4/LD25MhtCMYtFyTsY+8y82COei1s5bepsoc3aZnDhT9Ue9oY2fbvkxbA; 20:he1h7mZpj080FR8hpacVn3mbVsJNbJPIWFx/RGC4KbeK8nzVQJrWM43Azfonahi5rKsdenPkxFkoL7065OuLdBYW4GN+iXGzY/L18I7n6quNbnop9kYgX1sJV9MFYOhGNkp/pD4HfiCn30EDr83YvIJac3zf9uy+L2TkBa7KvgNy929kYcCkQCtjz8ajE3p0zkkfJKvh1s0n0H2E1O4+BByGuEFaT611hZDGIv+Ji9GQgzFwFtAHI5s0IyTckcoZbihagwlqVyzFaA1PEltwbXg0YytE0xMY5dgfez8momwIHCfwdsI1yWUyDeAbkzMDM78mb3x/5XWu8a5lavSFbhm7mfpqNUDs6gWRUGuJ8RLGXSSsdC/bug5fr0nyZq2p6DyC9QbTsNN1VtJdKIEEg31U454ut0HNDUTfKdeAbFwHErqkmFWCWzfIUCBN7XVvZ/+k+kfnYqQjXp9BRPOdOLAF6ZvU7uryT9gUgxBAHa6Pqx5C5/SpNzMg6elSL5jw X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(42932892334569); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(13018025)(13016025)(10201501046)(3002001)(6055026); SRVR:CY1PR0201MB1913; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0201MB1913; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0201MB1913; 4:TJbSBeoF9x/OnIbRt29EvUjtbTJzg8g97CiNjPp2S3HfSj3nIL77Df3asnwK62HDkWELqnODyjSbISc1TNqCMPZpbYpxGJ0jUCJZWH7pSqByY0x5GpABYgqymOXfVlyr51cFZJ2K/6UZv5nz8IiL2qPk0Jrjv0wZZq64/nfsdP7DU6ATYuQDJjhAz40BtFzMhjGt/OKWdZa08JBAOHhKzhcbwyDu+hzTsjcGaPez8lo5YYDFSY0s5aS5tGkZggNUyLT+KSsPpYHfjxs8yYvwhK2/I572jOE5aQkchxO1/aT73XRA16gZc+awQgKPD8j27l4zPh6nNk5carZnDTTNHOFf5O6fD/NnvPVWZU7IE1NHImkGJyL9oS0kBjhMj1sXunZ0/w4UaeLU+9tiwJKkQG1rj95wXAxRsmAntb2ixBLLf3MnsqVLJ6wiUk03TaQ8CKkhW80Dzwxr/2ZJIfk4sW/rvG6KQM7j2mgbcGV3njaSmP5FFRT9R0uuu59tX9wP X-Forefront-PRVS: 00851CA28B X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjAyMDFNQjE5MTM7MjM6bHdXdVA1a1hXcjZuWlpiMTNVRWEvaDE5?= =?utf-8?B?Vkt5QVZJRmMwMjFZcEdLOWpUbFhQR2dEanpNbldwL3BQNzF2d1g1a0htb0k2?= =?utf-8?B?YTloWlJQeThyZm4vTUdTKzF6NENjczF1MVJ0bFFFT1ZBMDdhN3NhUWNTNlA4?= =?utf-8?B?bndFb1FsdDhOL0JPdjgwc29XK3JqVHNtT2FYUXZnS0hqSkN2YlR5eWk3L0FR?= =?utf-8?B?Mk8rVk1ISjQ1YjUwMHhnNjRUUVdJTXJ5Qkp0eEJiMmNnVmVDcFVTM0w4Ny9F?= =?utf-8?B?bVJUTkZSSFdOcHJaRzl6b2JTVngzeGpCOSsyNzNWWStmMHM3OUZLTUdVMTU2?= =?utf-8?B?VWVNOG5ONEFTdzc1SlZMT0FEM2ZhUnl6MWluOTgxSDVyalpHMWsrQmE5bklX?= =?utf-8?B?b3lvVWpVTC82SElYVUV4Q3J6bHVDbDNGZkpoTjV1K044UFhtUW41a21pMGIw?= =?utf-8?B?QkN6eW1uNjJ3NnIxMWQxbWxMNkY1RXdvSHZJR0pkWmUrNDVKQzYySS9mSS9n?= =?utf-8?B?elpFZ0lMYkFIOWdMTXF2Y2dUWXpvYXpUY3JUL3BsUThiOC9CaHZuMk10Y1M4?= =?utf-8?B?RzZZVEk4ZU81QlFybG4xQkUrU2ZuQTRCU1BDYWR4b2JaRzZ5UXFMUWE4UDA0?= =?utf-8?B?QUxFdWR6c0RKOFdyRVF4dGxoOFBRMWh2cDBCenN6Y0l3SHNadW5tZVZmMlVM?= =?utf-8?B?N1hCUTd2VkhqTVEzbi92MG1tZXJDY2VsMnJPREFraGZRSWdzRnVWcTVvaWNO?= =?utf-8?B?QndBWGlVL2ROcVFEeGcvbW1YalpSRTByYW9wVFV1Y3RyRHQxQzM0TE5KVDky?= =?utf-8?B?ai9EeHFaYUp0MTB6ejQrZGxpYXdTQkc0ZC9McHBSUXhKMFBOOUlrbFQ0dlVK?= =?utf-8?B?b2dBUXRpYWNPVVRKZHJISUxveEdUM0w3TjVZQjArSzM5YVRGZ0VNRGRMd1Yr?= =?utf-8?B?R0QxOG8wZWtjN2FNSWlHZWhQQnYzZlp2SXFxazB1TzRmUnBoMDN5TUsxZ0Nz?= =?utf-8?B?TGRLUjVTc1F1UzVOV012TnlncDFNNFhaWWNDeFg2b0hRM3RkNzZrc2phR290?= =?utf-8?B?elFuVTI2RHJ1aVk0d3VqUnlsQmlGMzF4MzZ2cGpyZm1yRGVIaVl0VHRGZVNO?= =?utf-8?B?bDZQREpNOTFUWDJFMjR4SkdSMEtLa1Y0VnNZelpFbGhLUFh0NmVlVXZSYldD?= =?utf-8?B?aFZ5Mkk1NVFzb24yakIrTWU5ZlpqYVN0RlZja1VDZ21ieUVqYlBKNEwzWFM0?= =?utf-8?B?c0VYL3VwaTRzRUFmRWFmZjZlTW51MEg2V0xFdzAvc2krc3ZwaVdVeG9zeFpj?= =?utf-8?B?SXpEVlpOMG5BL2orOWpJQlJ0eU5nYzFua21PdEZMbW9EZjR6ZDdpU3NXcVlL?= =?utf-8?B?MkxqYWNlUzhiUm03UUVhQTNpaGM5eHBoR0NicjFUenNkSEx3ZXRseXZhc2tU?= =?utf-8?B?d2ZpSE14WjNYVWV3dEg2bjRDeDlIeUkzdHRYYlVOZUF6d3l5S3BxQWlHZ3dQ?= =?utf-8?B?ZUtJTTJLS0hRMXFtWHcycE1rMTlDemlhQmswRFRyRGlwalBTZEZ6TlVKeXBv?= =?utf-8?B?WTV6QWFLUUh2MlFxc0NnajhlL3lnaXRpRGRkNXRvNUlLN1B5b1ZBWEZzRDhN?= =?utf-8?B?dzdxbWthb3BSYTUrdnd4bG1HajhFUXBpaTV1ZmVDVW01ZmJiL0R1RHNlTlhk?= =?utf-8?Q?PKs97DnmUugavW8/k2QZmLOy5W6NbHWlJyuVM2qF7?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0201MB1913; 6:RTfsUDzXfiM95G+EfIS6wlaSCt4K0wOvGn80X9BRkDEIYVD2DXeeMa4hIbvOAmSClgAdFfXrHdXg19L3DAInX0yksiwJw2VhSm3nd7F3TYZ7V1JyJo5hyPFW7XJbwc8L/fTf+zYLrdjOvVGbGbCGnDAUv+bdNEjxGjpTlpIQgnsDZ8fyjN1MyT3i+HKMIAOCXNWG8PQtQEwZQ7F2ah7trqsCvhnVmrTtZO6E3pRM5vcM2dpEBhS0z8hGbgiX/s1wrX7CpzzmbenzPp/LyDDGYQuQ2+YderWLT0zY+9GXhxp00bvpfj8T703e1cUjiQtrzJA7M/XFX9KGnvxvNm9UNKpc8WMNlyt5btui4Z3i23M=; 5:y1Fe8ELgDflRa/A2GLSAmCB+Yvrg3eZ8CWyWD3XCso+0ziJ0BndqHc7W0+EWUPK427hL697Jr/vPunCV3PUaaO8QrkxX2vjOa0hsNwRCnGyFQG1wRFI0vnkDPj1o/ecG5auQyYU5bNXGP11FeSSv/+DJeKg5fZKzO/nV6I9idnM=; 24:o3UdHubwk3IU2e+K1+eocn5LC2zquTfhYnG3O8nXATnnWM/2bDoIOpZXmQqk2R3D/VoBdpBlYP5uXyHJQz/5m7YlVaIHjB4TkxUAaGIqj5E= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0201MB1913; 7:+QCUEmY58rPoWxTbqtN5l0E61HKomSClALqou+jXWPiTmiR1VMiXh4oPI1Unuaqo4cCaOMm7WA/7u2i0Q1y+AmotWqfQgHMJwKoH6eZzO1qVaEjO1gcrDc9giBBm/EL51hb8kgCWAChnk3umsOjeW9XWYWIbN7sXn7Xo70dpOdBQYPTs+oupxEDGa/ACe3ntvkVuwhZoGMfZhrtoQW7axNmdqeAsPjK2Os/oFZoDrJ5umWvUbd7TqFg8LjM1qjLiB0MTFxIvfp5FVfWvBPRwAOErVhvnlv8iJCHhC5UKbxsseQSgM98K2KsEIuRVhwrDTX+9LPsnDKzZJ6S5C7ttgQ==; 20:YkTnUReq2YtWhtd7dX+TepdhhVcoj2wa1hANeJHeZAQ0ybkSd2QhfupYdFrQjNVThguAwZkjvmR2avbnLA7w79KwdCOdLjuWuGvGARgvhGXz01X8vlhk5opOkUfEzYNfgQRaCKAkAI/pqH3xvvCZogWOwOZkNtKgnaPI98smF4HtAFdDJ0GUfl29by0SOidwegoJkSbFbcWmz6WMsuMPGP81Gzkbc4lcacHHSXrfvrbyuiZRR31FlcW45vFa66Si X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2016 17:41:13.1922 (UTC) X-MS-Exchange-CrossTenant-Id: fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d; Ip=[63.163.107.225]; Helo=[milsmgep14.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0201MB1913 X-Greylist: Sender IP whitelisted by DNSRBL, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Tue, 04 Oct 2016 17:41:16 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Tue, 04 Oct 2016 17:41:16 +0000 (UTC) for IP:'104.47.33.63' DOMAIN:'mail-bn3nam01on0063.outbound.protection.outlook.com' HELO:'NAM01-BN3-obe.outbound.protection.outlook.com' FROM:'Bart.VanAssche@sandisk.com' RCPT:'' X-RedHat-Spam-Score: 0.668 (BAYES_50, DCC_REPUT_13_19, DKIM_SIGNED, DKIM_VALID, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS) 104.47.33.63 mail-bn3nam01on0063.outbound.protection.outlook.com 104.47.33.63 mail-bn3nam01on0063.outbound.protection.outlook.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Scanned-By: MIMEDefang 2.78 on 10.5.110.28 X-loop: dm-devel@redhat.com Cc: device-mapper development Subject: [dm-devel] [PATCH 12/15] libmultipath/checkers/tur: Serialize tur_checker_context.devt accesses 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-Virus-Scanned: ClamAV using ClamSMTP Avoid that tur_checker_context.devt is accessed without holding the tur_checker_context.lock mutex. This avoids that data race detection tools complain about tur_checker_context.devt accesses. Signed-off-by: Bart Van Assche --- libmultipath/checkers/tur.c | 52 ++++++++++++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 17 deletions(-) diff --git a/libmultipath/checkers/tur.c b/libmultipath/checkers/tur.c index be3d5ea..7605fb9 100644 --- a/libmultipath/checkers/tur.c +++ b/libmultipath/checkers/tur.c @@ -48,7 +48,18 @@ struct tur_checker_context { char message[CHECKER_MSG_LEN]; }; -#define TUR_DEVT(c) major((c)->devt), minor((c)->devt) +static const char *tur_devt(char *devt_buf, int size, + struct tur_checker_context *ct) +{ + dev_t devt; + + pthread_mutex_lock(&ct->lock); + devt = ct->devt; + pthread_mutex_unlock(&ct->lock); + + snprintf(devt_buf, size, "%d:%d", major(devt), minor(devt)); + return devt_buf; +} int libcheck_init (struct checker * c) { @@ -226,8 +237,10 @@ static void *tur_thread(void *ctx) { struct tur_checker_context *ct = ctx; int state; + char devt[32]; - condlog(3, "%d:%d: tur checker starting up", TUR_DEVT(ct)); + condlog(3, "%s: tur checker starting up", + tur_devt(devt, sizeof(devt), ct)); /* This thread can be canceled, so setup clean up */ tur_thread_cleanup_push(ct); @@ -246,9 +259,10 @@ static void *tur_thread(void *ctx) pthread_cond_signal(&ct->active); pthread_mutex_unlock(&ct->lock); - condlog(3, "%d:%d: tur checker finished, state %s", - TUR_DEVT(ct), checker_state_name(state)); + condlog(3, "%s: tur checker finished, state %s", + tur_devt(devt, sizeof(devt), ct), checker_state_name(state)); tur_thread_cleanup_pop(ct); + return ((void *)0); } @@ -293,13 +307,17 @@ libcheck_check (struct checker * c) struct stat sb; pthread_attr_t attr; int tur_status, r; + char devt[32]; if (!ct) return PATH_UNCHECKED; - if (fstat(c->fd, &sb) == 0) + if (fstat(c->fd, &sb) == 0) { + pthread_mutex_lock(&ct->lock); ct->devt = sb.st_rdev; + pthread_mutex_unlock(&ct->lock); + } if (c->sync) return tur_check(c->fd, c->timeout, copy_msg_to_checker, c); @@ -309,8 +327,8 @@ libcheck_check (struct checker * c) */ r = pthread_mutex_lock(&ct->lock); if (r != 0) { - condlog(2, "%d:%d: tur mutex lock failed with %d", - TUR_DEVT(ct), r); + condlog(2, "%s: tur mutex lock failed with %d", + tur_devt(devt, sizeof(devt), ct), r); MSG(c, MSG_TUR_FAILED); return PATH_WILD; } @@ -319,15 +337,15 @@ libcheck_check (struct checker * c) /* Check if TUR checker is still running */ if (ct->thread) { if (tur_check_async_timeout(c)) { - condlog(3, "%d:%d: tur checker timeout", - TUR_DEVT(ct)); + condlog(3, "%s: tur checker timeout", + tur_devt(devt, sizeof(devt), ct)); pthread_cancel(ct->thread); ct->running = 0; MSG(c, MSG_TUR_TIMEOUT); tur_status = PATH_TIMEOUT; } else { - condlog(3, "%d:%d: tur checker not finished", - TUR_DEVT(ct)); + condlog(3, "%s: tur checker not finished", + tur_devt(devt, sizeof(devt), ct)); ct->running++; tur_status = PATH_PENDING; } @@ -342,8 +360,8 @@ libcheck_check (struct checker * c) if (ct->thread) { /* pthread cancel failed. continue in sync mode */ pthread_mutex_unlock(&ct->lock); - condlog(3, "%d:%d: tur thread not responding", - TUR_DEVT(ct)); + condlog(3, "%s: tur thread not responding", + tur_devt(devt, sizeof(devt), ct)); return PATH_TIMEOUT; } /* Start new TUR checker */ @@ -363,8 +381,8 @@ libcheck_check (struct checker * c) pthread_spin_unlock(&ct->hldr_lock); pthread_mutex_unlock(&ct->lock); ct->thread = 0; - condlog(3, "%d:%d: failed to start tur thread, using" - " sync mode", TUR_DEVT(ct)); + condlog(3, "%s: failed to start tur thread, using" + " sync mode", tur_devt(devt, sizeof(devt), ct)); return tur_check(c->fd, c->timeout, copy_msg_to_checker, c); } @@ -375,8 +393,8 @@ libcheck_check (struct checker * c) pthread_mutex_unlock(&ct->lock); if (ct->thread && (tur_status == PATH_PENDING || tur_status == PATH_UNCHECKED)) { - condlog(3, "%d:%d: tur checker still running", - TUR_DEVT(ct)); + condlog(3, "%s: tur checker still running", + tur_devt(devt, sizeof(devt), ct)); ct->running = 1; tur_status = PATH_PENDING; }