From patchwork Fri Nov 18 19:52:31 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: 9437289 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 9398960469 for ; Fri, 18 Nov 2016 19:54:13 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 86E81294A9 for ; Fri, 18 Nov 2016 19:54:13 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7BBC7295C5; Fri, 18 Nov 2016 19:54:13 +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 AF560294A9 for ; Fri, 18 Nov 2016 19:54:12 +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 uAIJqhEr019682; Fri, 18 Nov 2016 14:52:43 -0500 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id uAIJqgYS011411 for ; Fri, 18 Nov 2016 14:52:42 -0500 Received: from mx1.redhat.com (ext-mx02.extmail.prod.ext.phx2.redhat.com [10.5.110.26]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id uAIJqgVu022682 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Fri, 18 Nov 2016 14:52:42 -0500 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0084.outbound.protection.outlook.com [104.47.36.84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C912EA4673 for ; Fri, 18 Nov 2016 19:52:40 +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=E3IAsDBhHBE6uVaXPJEkAJ9OCTxw9ZFR+U9e9EfEyEE=; b=V8ialHjtO50gaT0HmfC4a3oMinmCBVgxCQr0FaeUjWRuZNw1XZdzukxSRwdvySzaASUIlIImMpuJTIFHhw1mzbZqjkfmq2FL5mAQL4Lodo5Xqgb1QZIAN5bDhEjKfjJ7l1bxSV2wkS8MgGDh3N+JObCGys5JaRIfCryRixEqRr4= Received: from BN1PR02CA0023.namprd02.prod.outlook.com (10.141.56.23) by BN6PR02MB2851.namprd02.prod.outlook.com (10.175.96.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.734.8; Fri, 18 Nov 2016 19:52:37 +0000 Received: from BN1BFFO11OLC002.protection.gbl (2a01:111:f400:7c10::1:151) by BN1PR02CA0023.outlook.office365.com (2a01:111:e400:2a::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.734.8 via Frontend Transport; Fri, 18 Nov 2016 19:52:37 +0000 Authentication-Results: spf=pass (sender IP is 63.163.107.21) 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.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 BN1BFFO11OLC002.mail.protection.outlook.com (10.58.145.13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.734.4 via Frontend Transport; Fri, 18 Nov 2016 19:52:35 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:2671; Count:17 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 B1.B6.02899.4F95F285; Fri, 18 Nov 2016 11:43:48 -0800 (PST) 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; Fri, 18 Nov 2016 11:52:31 -0800 X-AuditID: 0ac94369-9793798000000b53-b0-582f59f4cb14 Received: from exp-402881.sandisk.com ( [10.177.8.100]) by (Symantec Messaging Gateway) with SMTP id 42.5A.03661.FFB5F285; Fri, 18 Nov 2016 11:52:31 -0800 (PST) To: Christophe Varoqui From: Bart Van Assche Message-ID: <1c628eb2-589d-d8b8-952c-d64c5e74d785@sandisk.com> Date: Fri, 18 Nov 2016 11:52:31 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrILMWRmVeSWpSXmKPExsXCddJ5ke6XSP0Igw8vlSzWfZzLZrH33WxW ByaPNbdPs3q833eVLYApissmJTUnsyy1SN8ugStj26WT7AVNMhXTl11iaWB8K9bFyMkhIWAi 8e/BZ/YuRi4OIYGlTBJzz3WxQjg7GCVuty5lh6m69v0iE1QVo8SNteeZQRIiAuYS888tYwGx mQWMJb7u+M0IYrMJGEl8ez8TLC4sYCNxu2kGWD2vgJ3ElQW7wGpYBFQlHs3dD1YjKhAhsenr HBaIGkGJkzOfANkcQDM1Jdbv0ocYLy+x/e0cZoh7PrFIzD2iBmILCahLnFwyn2kCo+AsJN2z ELpnIelewMi8ilEsNzOnODc9tcDQVK84MS8lszhbLzk/dxMjJGAzdzDefeJ9iFGAg1GJh1dC VD9CiDWxrLgy9xCjBAezkgjv03CgEG9KYmVValF+fFFpTmrxIUZpDhYlcV63e1/ChATSE0tS s1NTC1KLYLJMHJxSDYzTl+yL37TX8KTkbLagHI7XK55VN63OZZp5Zuf2c9/ELp7jPXgm5KtE Ot+tdUpHnjRdupN22zTRx1To6MdpbWomvtYL5gvn5lzUOeS6tlspSjbNb9mKmnBRAQGRie1M XF1KtxZOEbtsJSUa+aT3ecanZPOwuDO8zHv3PP+8KJ8l4BzzutC+Q2lKLMUZiYZazEXFiQAq dhRAVAIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrJJMWRmVeSWpSXmKPExsXCtZEjRfd/tH6EwdF3/BbrPs5ls9j7bjar A5PHmtunWT3e77vKFsAUxWWTkpqTWZZapG+XwJWx7dJJ9oImmYrpyy6xNDC+Feti5OSQEDCR uPb9IlMXIxeHkMBiRokzM5exgCREBMwl5p+DsJkFjCUWr5/PBmKzCRhJfHs/EywuLGAjcbtp BjOIzStgJ3FlwS5GEJtFQFXi0dz9YDWiAhESm77OYYGoEZQ4OfMJ1Ex1iT/zLjFD2PIS29/O YZ7AyDMLSdksJGWzkJQtYGRexSiWm5lTnJueWWBopFecmJeSWZytl5yfu4kRHDicUTsYr080 P8TIxMEp1cAo8vKS7lr545/2iX1L/NjfGt96/47g8cvTGkX/6Xpe78yw/bXl1nSuAvUm7dbm Yt1AlZ97qzQfdyw9PrvSvNR3lUM0n7PViteraud9rPp6JWD6mpVbo0/vZu85cULr7KdajcrY F3XVrbFz3XZyl3Ub2jM/4lqreHPzuodyVUZXt0Z8ZH8WqbRZiaU4I9FQi7moOBEAKo5JRcwB AAA= X-IncomingHeaderCount: 17 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:(10009020)(979002)(6009001)(7916002)(2980300002)(438002)(189002)(199003)(68736007)(64126003)(23676002)(69596002)(50466002)(86362001)(31696002)(65956001)(6916009)(189998001)(65826007)(4001350100001)(5660300001)(230700001)(110136003)(65806001)(4326007)(2906002)(356003)(7846002)(81156014)(305945005)(8676002)(31686004)(626004)(97736004)(81166006)(53416004)(2270400002)(33646002)(47776003)(106466001)(36756003)(54356999)(87936001)(50986999)(8936002)(83506001)(77096005)(92566002)(38730400001)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR02MB2851; H:milsmgep15.sandisk.com; FPR:; SPF:Pass; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11OLC002; 1:mJdrwWYSlWYWHUCIQR8qGsQzMlgK9MyHANSSqi3Q7VOQHj9iJFlBQ+keStMgJpjZhcloXtYmJeXD7GoTEVCnR1z7mfxjPmNw4No1/bqFvNzUddhKgLTtomQA4o9M4Lqpf+9/LwkZcUobbE5YTr9vQTEr+AsiTJe7TAp6PzVJEdqMqH2XVwVAEX5PckLln3oTACDp3DjKsYNx6Z/jfaZolI+1sWItGkfXnnM3QN0IQBjnZIEMM91mANC8gy6G7aE6v62ROxNAX2/lu6EhPDyoob4TF4IBxxxmk0ehB9VPMGnONAMM+Bx4wju2NbaRJvcrmV3gJDhnPelwOG1m9F9KR96bQ/2wUbbJkxpn6yjnVp1yzvzK51IA3P1ZloCO7r0Z6Eo83jNZn3ifJgCM7/lGqlse525bSAAGopRM7UJ6U9oQSAQ9xxMt1kTByWKA3g0BVJWNkIHDm/JPGjyvk6mucFAyNncn/XJVDlsbx5yVfD/EXlEEMTSnFs8Z3BgWCNh63zQ/8wnaZv9CqSYMNTzTjw== X-Microsoft-Exchange-Diagnostics: 1; BN6PR02MB2851; 2:0vkwdCHMdHF/V6iFtYoA96cS8dFtVLj16m6vG9m29c/36QZFFePOn7HV7cHlTCDNyScL8QITlV4iU/Zu9DLCfZp3tyFp27/m5r4MML3hWIKGsjtiLErUvAjzex9+FahFRonq1EZe5SlUK0A4VsWr4yUnsTZMc5+fyWj5zIJ/gFE=; 3:xB9YJ8SV85TLE0kdqVuqWxWq08RHts867UlPPCRttmMUSk+Pht5vuXzK2TMs+iMgcJJGt/q0wpOAi2q4wrhINulJlcIz5vzvgyj/G3xFNUTIQq66xv0OJOM1XynY+HmF4HBPhZ2BkRrfLWgyZNsF0NhBHAtEp+W6FGV4rKTOVhTJ9ke5qOSciZ1w8SLwiBpqxe7Enj5oRBwFxUiBb7RTk9HgIqh2GWaTGOjrIoE05yPpMP1BPpnBAagoWLjVbMUsJbu8YOEO+VSnqmGDa/jZlSXc6xydQK1RDThb33T+xs0= X-MS-Office365-Filtering-Correlation-Id: ee7c5743-f2e9-474c-49b5-08d40fec721a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002); SRVR:BN6PR02MB2851; X-Microsoft-Exchange-Diagnostics: 1; BN6PR02MB2851; 25:ktvCEitbgKJryLi6sb1hXSGErcgEGoTJbnvAT8noPEz8rqN81gpeCTqeZVr8ddJVu/sVvy5FJmjrDX2ekCmPeWRVTJR7HMg+MZHhMXaZFBfvMEaii5QRMKWrAx/yldFn1XFNakFiXKMpTk6w+LqwPAM4TlUpwfKoKP1/d1H7U0h/KNla0yB9wmQU70IZ6eH4FJ70Pz6LNiMzEDb3at+AufykYSWRYWBfpn6ZQHQfKxyX0H1MMWSnclQuc8yhuEnePsEoNutHJaxDpcf+mSgTN8TPaDiG4uvEQfUlgVbNzIZxlZnhNHHab4dbXzOSMICwm5mjCt4TucrJ54dCKs+XCAMpgHUa/GWonJtk3xpYtpWbIW8V4Jgy5iOO1dnzyTi3U7KhbM8rWek/W9WXC4JNLd2wfKya6OnaovvC9wGeYacBOBDHY89UFocHr+MLxS6fHguF7JOXX5weTUw4QErNQw==; 31:jVCV+1tftiMfP8kRRvLXWlZRYwakdyTheQ4RL3iakTHVWqMl579C1sazRssNOmK0SJ07kTLryP+xECQohMleBasE2I4/EHym3xtGAsYNdVoUHp9x+M8WcvhIhBurfJbHUKPW/d1Gu1PHg7Z+wRRGOkiW3fTO7xjYvdiboUySodux6/PZbvyzDs1GA8C5i5pUzbbs5V4xrZUzRs6NhkmxqwXsoghUiKNd9w4Bw14Ym21WQZT5uV+3ATclmwP0n51nEeYzItXEl7fD0ZX9N5ZpBg== X-Microsoft-Exchange-Diagnostics: 1; BN6PR02MB2851; 20:ot5NFByOu+ovLz6FBMSAC0fyGxpuk6c25p/GTrbqEQ934O65fnsEpQ9cJ/KwTc8658+txbi8t0+Nonv5uUH5ZF5AxyuyZX5WelRxzRceuj9QAsyktQnDpubyv4ni/rcWSaaLun/ey1KLQrdi8QGTR6uIQU0AICM8FYSTMBprUEOLA+3R08QmiM8p71wSF5R8AGd6CgjoWk+qBRMk6tJvv922LIBFyihRkeqjK3axGYu6B6Izy5bMr+9WBpq1NVoKFc/TmjTDxYJM6urhsbdgAB48lD963A2fxL+Qv40SabCYilRPXcEPeQtoiDAhVsiBIGsoiQjNaA5xhFruYc+CHdH3wD5mX195LEB4xko0373g6w71vU7+JyJNyrOuIU8Y3AZrFJj+0Z03Ftx1khGdioq7bWO+mfgiil3u76KqT41nYWU1F5ALLgLgD+i8Sugg/UjVIA+1kcwSu3nFlCuIePcaXV+fOvL0C9vkMQJ8tAm2r8eZhHvBpFnYVoQdpchf X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(42932892334569); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040281)(6060326)(601004)(2401047)(13018025)(5005006)(8121501046)(13016025)(10201501046)(3002001)(6055026)(6041223)(6061324); SRVR:BN6PR02MB2851; BCL:0; PCL:0; RULEID:; SRVR:BN6PR02MB2851; X-Microsoft-Exchange-Diagnostics: 1; BN6PR02MB2851; 4:c4m6Z0S+DogkASG5uGhjwWF9rPVBxLWn04WeMuMJ9LYzavLnsEf9dA5t9/8nh2jBF0FZ6/oQDYmI6/sqTfQukJ+suxmpHYSEuIJGcciZRhBw0Xg4LuQwYEFT6mX0lC6kuema5PDso60FxAlQbsO/eQmskiA3m7mrFCPrbo21+VD/8UPB0zGmhotvfZk1IhBPFzkJkqDKUWBetirE+4bzWrGP3aoXa64pItdyivc5925QRAu2G7ooT914Iug3UOK/HY2Hg83+e9v80rXftBHXxQWDU22a8cYCb6lO3YeGP0SU+7CIrHa1caPWhgYKlvEf1rH1pEeYzq9NPuiQhi22hWp6CjeYZi6v0SguoAyu0G2dI+azOOcqIHquIf8chufBJISE4a2aKPLz0mYGRYtVEAPZUsID+1mvTjXTT0w5vRYoeUXgVMV/mDruJ8ChxrmVraK3VXLh6+UpHv19H4WnEYNuYstZlfnaPI7OVfOzlkdhzxcIAM4nt45IToV/fNNr48UYilyRbsKzRwen1rxJvN2BLNF/JqCr+1nO3lMli1scGS8wlL8IfWxTYpXczPeK X-Forefront-PRVS: 01304918F3 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjAyTUIyODUxOzIzOmtnaS84UkZEUnRjREQySUNsM2RUcXB0RVRX?= =?utf-8?B?NFVTcEs5cjZmR2NEQXlCKzZuNWdhQW94UmVrbjN6Q2xJOVlKWWM1STQzTjNk?= =?utf-8?B?OXNMZmkvSy9hOXdpeXVCYW9yaExmamxwOG00QU52UE1GWkIyckJOTlpUWlZD?= =?utf-8?B?MXpIWnFzbG5XcjVaU1JNaHIyKzUvcjFJTndoUmxZVWtOK25QSWVJOHZQeUw0?= =?utf-8?B?ZnV3OU1xL2pxS2J5RVFCeDNYRDdYbjBGNU5vSVBPYmovYzBGOXErenU0Vzcw?= =?utf-8?B?Z1dQTVNYYnNPSVY5SVZ0ZHdNd1ZxeXlTYUNycktFMk9zREh6c0hkcExKa0lI?= =?utf-8?B?YWF4dFp2eFArV29wOEtrVGdaSDlnbHdXVVJCY00xRjNROGJ4elk1N0NrSFVo?= =?utf-8?B?ZkxzLzlYbW0rZDZrYitCMWhnb2FiYWxONm44WXhta1greFg0RHBCMHB2M1Yw?= =?utf-8?B?N0x6R2VqRFRiTnQwU2swcHk4RkxXaXF1bXZSV2dmdEZJd2J3LzN4eDVTNC85?= =?utf-8?B?ankvalozVlB2UDNobUo1ZDJLUmVEcnRxOG40ZkFMeUQzdnlLVko4dUZvUlIz?= =?utf-8?B?MmFyT2R6dGdzaVJZRXB5cTJuUCs2MDFjbGVwQ2k4TWlNb2dlZmhsZFFIdWU2?= =?utf-8?B?SHhNMWhSRG0yTDM1UmJOZmQxeDF2aktWTGp2L1pWY2pXVEU3b3lBUHFOVDhO?= =?utf-8?B?NDJtcDdFSlpQeHBKYWZ5MHNhSG15cVdmWGlHdW9CZW5TckpNWldTaUQrNUhr?= =?utf-8?B?cW9peFlKUnYrVzEvYU00OVd0d1dLZTFDb1Z3aTdKa1B5czBoNlladDlFNFdB?= =?utf-8?B?eWsxNTZwZGxXdytoRFRDQ212eHk2TnRuYzJyVjE3Nkg2MjczMlpiK0xlbk00?= =?utf-8?B?Uzl3RjFSdHNTanJoRG1aRUtNUURiZ0ljOUl1eUljbnQ4dG1NVDkwM3dRRXdX?= =?utf-8?B?NW53VEkyQ3U2YkRPdXFOY0VhQkRjZE1JcW92b2JvVkh5OE95S0doYkFxcHBT?= =?utf-8?B?SW00S2FNU1RVdzEvK0l4eGxQMW1xSjlJM3RjQmYxc0g5KytEbHFtVzlIbjhL?= =?utf-8?B?eWVkQkNxZzlCNmMyWlFDM1VXUzQxVlg5L0JIQnBtS0M3clZ4U243bDh6VXd6?= =?utf-8?B?bnM5T1pIaEZKaGVGMFVQODc1amUyZFJxZ2UzV1NLSmFrVHhLOTlMUUhyQVRy?= =?utf-8?B?WTY0Sk1CM3dyMndwR1FXcTd1YUFmSkZidFUxR3ZjSEFRVStFSjBLTk9HTEI3?= =?utf-8?B?dVdQeUNyeHJSRzRlL3h6ZExuajJCd0xMK0lXL3hleFp0VHMvcG9PaGRuUXNh?= =?utf-8?B?V1RXeFhSNFlySUFnVnBkOEdqa0pBNFhyK0FWQ1lIMHNWUHMxbjBVUVBtalZa?= =?utf-8?B?b1dUaElmbUQxN0t1eXA0dDNsQjl6emErYWs4Nm1vT2hDU0NPaUQrMGFvL0xt?= =?utf-8?B?MlI4Ri9ITTZnS1NHQldKb25RTFVjb0RzeHdVWmFlN2pJejhFWkxNMExMRXZK?= =?utf-8?B?VjJKNjRSeDgxK0lHb0g2NkpZNm8zOFFPL2FKRm9ERllNRHlrWHU5aXhvRUZ6?= =?utf-8?B?b3hzc2ppSkZMK3JZZmcrb0k3RTA2RXltZXlIYWlCdi9BdVRhK1ZCTlpBNHlL?= =?utf-8?B?ZUtObU9xK09TaHN5T2l4czkxZ2paYnBqVFJxTG9ZYWlpb3krSzNJck1RPT0=?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR02MB2851; 6:NgZcTFIz1MMhAIL6+vtV8K4CME+NRtS+hd1glXfqgq4bs6WElrMfSxPxCAvfajcXKXbsHiOSUvJF8q9XEZEtVXjvaKG0RyjzSXbehY1ONZSb28R/sPfgotuRqoAxj1NrAV4PqWxi+t9SZ8l5j+h+bH+fznuODTZ0qvbgrNzZjYOMnk+kwcwn2KDnck6eTG5OSGVidajQ1OdaJcdVG27XMq+ehN5zmJ6IDLm+Bc6lg3dP3fVlE686F9vU5Ug5LFArVh7e/YF1YYIrbC2NRGBs9vPT8sfh+4YllaDhIaJseqhZ82XPB+z6O7bCBksd6TlyNBHsoBrTkBN9xoCe7hb9J6UnJcAgpgFzwBQwtGqM4TL+qcoH03E8x7FCFVnsFn2k; 5:lcK3fgwxHAxqm232/OLOTttZ4DrXcJ7b33y1PcDl2AUoCfYLv4qq9ltsYshzDEhswf9jqmZ4YXvWMdELSUlM2ZW/RBNT1NwJwiGncRsWPKgUsEpizGyltgJnqIjkEN0MFYwc/8fr7nJjXCtb+srIc29Q6A2ykAtrnSATlsmTXdM=; 24:4xhLtlSsXzx0k9qfnpXz2bEIchKp8IK24ffBBq24exren9Uqjw7cp1esO7J2oi4+tWKjlMKcocLvdwty1gnJ4WdljIHOR1G5maxiDAkyyjk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR02MB2851; 7:AiwjgUmC0I7g1dP0zCt9oJiPgO2ugaGd0hlASfedopWChVVJesg06u5nAvwWyR6lNQQm7H79EyMksaSEPXflXhyZ3Ftuwus7kiH8ab/5x7BBv6sDJ3ds4DJ2CIKe1KwKkeCzpnJ4Yqaqqn81sEzBs317sQW97+RGiSdjzsPcPUChhGdAEStO8NXT94V6WIazz4Mw/BmPEGBMvWaLKjx/ZJxKUdku7bcsVxPhquwiDOJTRUqLSXHlw7lod/evm6HO17dbPUkQHUJbYCjAwgd0WboOuurT9KdCL/9er1kkjtu/fR46uHFn99yd/AfHDFW/REb02BXSjh4cL8KylNGFyf4F7sQvT0nQsMWRwSMII8s=; 20:3FBpDphGB09x8kK+4CV9H4FwjeM0Zx6e74QotNNGr99bjed9RzUl4FsnKew3LFFL4pegLxx/bznfL/mg6riIpgvh+dvP8yWiYzJF4eT1huYvCgi2tqvpPJUMygfctqsLl8ESc4r//CcUVzUMn9GDmH81nVaRWck9j02uhblFH1gA6hXBGo56LvqQjWCr58ex8zjV8fo3YYsU9UayEiYBz+xLeBYT+vnO7fk2fCMDm+6ssD6fTokuD+NtbVOBc8CW X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Nov 2016 19:52:35.7122 (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.21]; Helo=[milsmgep15.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR02MB2851 X-Greylist: Sender passed SPF test, Sender IP whitelisted by DNSRBL, ACL 198 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Fri, 18 Nov 2016 19:52:41 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Fri, 18 Nov 2016 19:52:41 +0000 (UTC) for IP:'104.47.36.84' DOMAIN:'mail-sn1nam02on0084.outbound.protection.outlook.com' HELO:'NAM02-SN1-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.36.84 mail-sn1nam02on0084.outbound.protection.outlook.com 104.47.36.84 mail-sn1nam02on0084.outbound.protection.outlook.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-loop: dm-devel@redhat.com Cc: device-mapper development Subject: [dm-devel] [PATCH] Makefiles: Fix function availability checks 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 The current implementation of the code that checks for function presence is not correct because it checks for a prefix match only. Introduce a function that checks for the exact function name. Additionally, report whether or not the function has been found. An example of the output produced by this function if 'make' is run: Checking for dm_task_no_flush in /usr/include/libdevmapper.h ... yes Checking for dm_task_set_cookie in /usr/include/libdevmapper.h ... yes Checking for udev_monitor_set_receive_buffer_size in /usr/include/libudev.h ... yes Checking for dm_task_deferred_remove in /usr/include/libdevmapper.h ... yes Signed-off-by: Bart Van Assche --- Makefile.inc | 14 ++++++++++++++ kpartx/Makefile | 4 +--- libmultipath/Makefile | 16 ++++------------ 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/Makefile.inc b/Makefile.inc index 1cc8f44..e7f4e05 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -69,5 +69,19 @@ OPTFLAGS = -O2 -g -pipe -Wall -Wextra -Wformat=2 \ CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" SHARED_FLAGS = -shared +# Check whether a function with name $1 has been declared in header file $2. +check_func = \ + $(shell \ + if grep -Eq "^[^[:blank:]]+[[:blank:]]+$1[[:blank:]]*(.*)*" "$2"; then \ + found=1; \ + status="yes"; \ + else \ + found=0; \ + status="no"; \ + fi; \ + echo 1>&2 "Checking for $1 in $2 ... $$status"; \ + echo "$$found" \ + ) + %.o: %.c $(CC) $(CFLAGS) -c -o $@ $< diff --git a/kpartx/Makefile b/kpartx/Makefile index e8a59f2..9441a2b 100644 --- a/kpartx/Makefile +++ b/kpartx/Makefile @@ -7,9 +7,7 @@ CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 LIBDEPS += -ldevmapper -LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h) - -ifneq ($(strip $(LIBDM_API_COOKIE)),0) +ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0) CFLAGS += -DLIBDM_API_COOKIE endif diff --git a/libmultipath/Makefile b/libmultipath/Makefile index 495cebe..a11e483 100644 --- a/libmultipath/Makefile +++ b/libmultipath/Makefile @@ -20,27 +20,19 @@ ifdef SYSTEMD endif endif -LIBDM_API_FLUSH = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_no_flush' /usr/include/libdevmapper.h) - -ifneq ($(strip $(LIBDM_API_FLUSH)),0) +ifneq ($(call check_func,dm_task_no_flush,/usr/include/libdevmapper.h),0) CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE endif -LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h) - -ifneq ($(strip $(LIBDM_API_COOKIE)),0) +ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0) CFLAGS += -DLIBDM_API_COOKIE endif -LIBUDEV_API_RECVBUF = $(shell grep -Ecs '^[a-z]*[[:space:]]+udev_monitor_set_receive_buffer_size' /usr/include/libudev.h) - -ifneq ($(strip $(LIBUDEV_API_RECVBUF)),0) +ifneq ($(call check_func,udev_monitor_set_receive_buffer_size,/usr/include/libudev.h),0) CFLAGS += -DLIBUDEV_API_RECVBUF endif -LIBDM_API_DEFERRED = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_deferred_remove' /usr/include/libdevmapper.h) - -ifneq ($(strip $(LIBDM_API_DEFERRED)),0) +ifneq ($(call check_func,dm_task_deferred_remove,/usr/include/libdevmapper.h),0) CFLAGS += -DLIBDM_API_DEFERRED endif