Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934814AbcLOAzr (ORCPT ); Wed, 14 Dec 2016 19:55:47 -0500 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:24898 "EHLO esa2.hgst.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934375AbcLOAzo (ORCPT ); Wed, 14 Dec 2016 19:55:44 -0500 X-IronPort-AV: E=Sophos;i="5.33,349,1477929600"; d="scan'208";a="43887190" Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Damien.LeMoal@wdc.com; Subject: Re: [RFC] block: check partition alignment To: Stefan Haberland , axboe@kernel.dk, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org References: <20161214164706.45543-1-sth@linux.vnet.ibm.com> <40f04360-5137-8504-fd2c-0861c7856a7a@wdc.com> Cc: hoeppner@linux.vnet.ibm.com, sebott@linux.vnet.ibm.com From: Damien Le Moal Organization: Western Digital Message-ID: <64f82273-adc6-ce79-5d1f-ae4b54efd240@wdc.com> Date: Thu, 15 Dec 2016 09:55:36 +0900 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: <40f04360-5137-8504-fd2c-0861c7856a7a@wdc.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Originating-IP: [199.255.47.8] X-ClientProxiedBy: BY1PR0501CA0023.namprd05.prod.outlook.com (10.162.139.33) To BY2PR04MB1976.namprd04.prod.outlook.com (10.166.111.16) X-MS-Office365-Filtering-Correlation-Id: 2f14820c-677e-4c1d-3fb2-08d4248517d1 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BY2PR04MB1976; X-Microsoft-Exchange-Diagnostics: 1;BY2PR04MB1976;3:eS2C2bl5PY2QLpwn/21L9R6YQGJmKZP/6D+pmvo+1kQl/MUExOkyBZlLZsTf0JEXB1gp5kqxhf2d+EQOOQTe3HM8XtcQ4vtId1uc/cUtI5t1Y9f33lY+ikhjqetUWO33SOnA14GN7m7P8v4PyCNhQX/Y3V6naCx7U7RSWSBOB/SsZGCKrCTdN/Uoy3XLVGICAyLKPVRAPEojBdcXNij1MbR54E2YtQAWV+HcUNOfCgcGSORmdrVuSDbOdh0Q1C813AmFBmPqUpGqTanaQrqsWg== X-Microsoft-Exchange-Diagnostics: 1;BY2PR04MB1976;25:Q73EHrR9iVFSJTStJhkxAq178KKbyn09wey3fzEN08qkJoClmDfsWpqmQynjno9yenMxMbfQ5PmN5yfXulvPNYcr0q55PWcdnm3ii7yIbDLl8WCuChx2hfopkKnVXolHSvRtwWB5n8UoDcSou0VUNDXe8htl9ZwVuvx72NTqFLiVXvuS8h+6nMsdjC5Vn5UKU1Jk4oV8Z3UB/3rARfYS5WFjmQEgKJ4oF2HMORvsLqUoV4Y4U2I7/MSRMDWnu+YsENLZ9R+FKIQgMqwiQLVRODn+zbeb9zvwBVKGuwWUWJaA46x4RibSyofwLVTL+O7Q+Yn+zetPrXvpVK4RAksuH3wTEv4blbSfq0gAq6mQ0EdI2WMKCwXYnk5xwmF4VD91vTv1+N+Iq9MVsF0isA9nKRrRkphE/+skD64IrKYZ3msbX1HJ+V9/dgyFmKGqLmfWAcqqmVLToezQeyaDgnk3daYu3IIixOH/AwERVF5cc5JzpU4N4prhbfn4mySxDnzsvgfQETSWcWAhlj5eVFDJyXv+dTZmGLUD6pMKYMbBIW35tKbd5MyPSDw0V46stlq7pcY2INpfnABSxX8EFcZ9SdWpuoWdlM+yv77LoH/iTk7KMUKYxtn62SES5wj4WlGu2XzUb7EfgHuPqWXBU0C2zJ0/uH02nVtlZio8UoIZ1RfLwqgSfJAtmwUjzCTD1vf02jeVe10m2yDoATp/7eBf/5AM3F5Dsz7esRqabZtiXVJumJLX0ANSuL5uBIX4v9ea4IeSeU3Xv5uVqYtDFA0PTvFQK3zL68Kea8qh3ISTBAkRb7HMzRCEQnYZlbeBBbI4rOz9Gt3wjGYiiThyLpz8qbY0Tx6aHXt+VMg+8Sqe57Y= X-Microsoft-Exchange-Diagnostics: 1;BY2PR04MB1976;31:8pID70TdypHkBJBSZyiwoM9Ww0ujSyVVdvvcN8TEb48bzbKz6344/asXVsFjXlANNHJ2APzn3iJBvur19X1kTN1TobGm2PuJ5BkNprWPAgzpHEQIF9pNJOQOmXQG2dBM5hOhGJIC7VXUbQFotjXTHCeVLmNyP0eQWitw0pGupIfE/q1gQ29T7fz53BdvcDnf8kIWCrXN6cKaxlO41o99RjstX+yGEALgUJTQCwSiaG3lQsBh6K5AxRhXuEzdr8Xk+V0tqRroIDcR7ctMP9m4ug==;20:TwfYwlh+6EwhSOHFGYcYNXzdceDf205mrOsXrmVwwZak3EyTxLTaoHWurXVOBXrrlBwNfGDcEC+0u3Z7joJ1k+va9KV7bdFV7iU5MpJgl7nn4ORZ2RMW0f/AyVOuxaunZv3OtnPkejCKVlBO3ZyhEIfTt6F9uzsFZkkJ+vVZsIDwSNUxQdTHHrlYwwTALbRHLmWGN50fHabfWxUWgU9eUSBT+LFi13K5aEokZFoEnPo0G2LCcGnQW2oORpzXscrfWjpXNXZAONvckSsW3ngXpHfhvHGHKzZSDFf1X0Tb2V9EVMPi3/ggRV/EHiYmplMvoe/crCkbeF1ZuXZ8M1+QHsAMJiTJmUg2JPbQQXo7DZAJTFfx720V0bo/+fEtsE33yTpWloDLkhEeA3rvOwVzkkIRZ1HMHrBBHY/Eo6lpTJLrZzXqeBLGsThCxBxEdSmwzvXd8yZ/oE7xpkPk4/CRKpaDalU4ZhSi1v2NW7WhTFUjs8D387sTQfpTC5mwV+Le X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(79135771888625)(67367480688388)(56741022784758); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026)(6041248)(20161123555025)(20161123558021)(20161123562025)(20161123564025)(20161123560025)(6072148);SRVR:BY2PR04MB1976;BCL:0;PCL:0;RULEID:;SRVR:BY2PR04MB1976; X-Microsoft-Exchange-Diagnostics: 1;BY2PR04MB1976;4:UCKLNpfd1hTXPo1benNN4PxrMU1lZhvSrLrbR5NAmKhBNh4c8HP67VAGq32FkqI++4iIxJHvhlhmWUCTFVfJEYhIW4FNGOZ+X7EQEndQQ90uz+7dqfxK908ep01L4fBbNEi+z0Tt3Qv/fg9CbEkw2OIQksDZNoRBcp8Y9hT5qcB74RG8ZRZwoJO3OF3zasgQjEjc/KJMZ40Mf1g+UgBujuHPJq++s75eZ6BYUq2Ds40fExunGT99eyK3eposl4370hqfYALgizAAkNly3BrLdT5p5zVrgT7DxK/Xff8+BSbrYf5TK1OOSgWgZT60o7KGlMyAQj2ZQGW8PqBugkBN4Fq2RJ7VDBXwLCmyIDgvTuo40E5qCstUFmVwcb6rrZo5vkTYRnokQwMEDmtSphFbxGqgu99917Xdq8wjEVn8foDiheXlN9e5adJyMrY35SvQwIYU44YuIdnA84ONsexdLJFghSTaR1eAOD6jFYKr0ifRGFBjFfrCwos9SJQXYdeJ5ul4Bttut3tMpQC54qAmILUGsyXWO2KuXqe6CVumhZ5VGQ8g70Ff7EhgLbOMSXuJtkusoFodK+zP5Ovm0vBlws71DjkDLgsv/0szwlM2snNYWkPBg1aHGyQRGpRZ11Lk5u+vR8EP9eTAJV/L6EqNiZpvyVst/ICsYgW+0+aT4VZ+rQ7TVDJnUxMVL84Kp4hsJ8E2iqeIO2K0UfRXJM9/jYhZeyPpCbuhvH51M9BEHPvFcifGeP2NQhkWNqKQkf9t X-Forefront-PRVS: 0157DEB61B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(7916002)(39840400002)(39860400002)(39850400002)(39450400003)(39410400002)(189002)(377424004)(199003)(65806001)(42186005)(54356999)(36756003)(38730400001)(64126003)(106356001)(2906002)(8676002)(33646002)(4001350100001)(31686004)(81156014)(189998001)(23746002)(105586002)(81166006)(6486002)(25786008)(50466002)(92566002)(6666003)(2950100002)(97736004)(31696002)(229853002)(68736007)(86362001)(65826007)(5660300001)(3846002)(110136003)(305945005)(6506006)(66066001)(6512006)(101416001)(83506001)(6116002)(230700001)(7736002)(76176999)(47776003)(65956001)(15974865002)(50986999)(7099028)(18886075002);DIR:OUT;SFP:1102;SCL:1;SRVR:BY2PR04MB1976;H:dimac.fujisawa.hgst.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;BY2PR04MB1976;23:PuXYAXoPja+ikjVo4rS8Y6P8vH4g82YSSsfva?= =?Windows-1252?Q?kfLZPjl142PoAGQzwhabb3QXxcF5WgJLrN+OuVQiItA/8Uw74Gc0TV6x?= =?Windows-1252?Q?1//anl9Y3hsTBEwgUdx6I6IX+otYhuiaP+3C/BE3DVyoWRkCoD1SsKhE?= =?Windows-1252?Q?1lSvW0Bw4vUd65/4pyNEA5ann4ZzFZ7TY3g3kORHVTVr2aaEDBuC1VuR?= =?Windows-1252?Q?sZHkJ8guKpY2HA6kNgztHxehsIlwWGWnGG74MaoN1Epr1SHSsS/4ab2w?= =?Windows-1252?Q?+m/xrGP8w1uuzq64SR4zZJgB7xa51lzOK0WxsKZrjR6UE+nvMZrhmlvQ?= =?Windows-1252?Q?/aGyzszjceRKALWEQx5IfZl9Um7mNFYZQUeOZ2vI9i1+MG5uWIynKGr+?= =?Windows-1252?Q?wWvtTL89Wrp+eiIJwKPdyyUUU0+gUyDpgriBaPAixPUV0s0K4HCXEQ6g?= =?Windows-1252?Q?YvdUrE7dNa/MbHJiM3bMXaF5y081h3QJEg7K6+i3ZUNXulup0Aw/cOMY?= =?Windows-1252?Q?iAGQ0E/1j0UNWrizyQbqokBSrWZTtKgBo+WNSbH7uYsh5fDgPSKh7CZd?= =?Windows-1252?Q?o3G6BnAUJ4ydVWmeiDC8uTiml5tPxUPV9O+qtoO7DiQQ93VZSZcaFX6D?= =?Windows-1252?Q?3vrCrXOKb4NFi8Y5id6Si6QTDQ3blALlZPasXDqzmKvhP+Tld/HBKLZz?= =?Windows-1252?Q?R2icMLn8cqUNy/mfO4DIJfq4K953tSXlsJaY0kI0A/isgYVaU6cj1X79?= =?Windows-1252?Q?P86OydERgPVrqBUHNDLKCHi/+Z0bHagYHHSzZxCUwt4LymIeUc8juh/g?= =?Windows-1252?Q?qNg+ARXfdeoXzwWDqw/kDSsJJV9kQfRFzjKlvpZIE9SPxS/cvxA3Bh0E?= =?Windows-1252?Q?/wfvCJ7FgOXFSTxf0cBUVvOpgQLj6b2rMSzCzu8+UEY8tCXXP88g3nE6?= =?Windows-1252?Q?xYykmSk43Yl2+bslNLUHgpsq0r9gVBgC7ZLADnz+RHsI8FqFESXbZ01j?= =?Windows-1252?Q?KzyPVdryNw6Es/lJ6fmH0QnLlQSdkCwF73zrvNL/k+yNGyTEIQCeVPE0?= =?Windows-1252?Q?gvi+yCjOR7bK9yXTtLSizeiR4fphwryk26BThtjJZSQ5PT/0nJbpoXR7?= =?Windows-1252?Q?P80vY7XOKSF6LCN2u1UuodivlHQn5Sn9SaBhyHTNwc8d2otDPWj5Bs+w?= =?Windows-1252?Q?fCHms0MKHHzcgoP15IBiFDAxmj5pDTf6MZezhsnqMmZjuI2kHpu1oMwi?= =?Windows-1252?Q?dkJsMHTmih6J2uCVfnGW/0vPZ/P8pyEtb6EJUSKmj9S8A4KUWPQ6Mx+h?= =?Windows-1252?Q?zVYIFVIWVkwCWe4IiwhhGVHjUKYmE0TL4d8L0Xa1dDilwnsG926ZOj6F?= =?Windows-1252?Q?T4Mpewqlkr2ZOYitQ2aLRAR7LKhqzQq3+zfV0Tfjq5QaoOwmGOYB65fi?= =?Windows-1252?Q?7tmaO3R4p9v4MaNRbeCuwbVqiMvfuQxmhAaSRbcANcaRkmyNQvLLEiEU?= =?Windows-1252?Q?Qpts5vx/LHXqIkrlbmKBMFg+ty31V2c3RH5IZCnukeMq292U0zZooHpV?= =?Windows-1252?Q?EAIhF5Vlw1DCL8=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR04MB1976;6:R2HLZ7uxWLDhe8sQA7n+0QxXKs0+sSURGfO3/V3+3eq/RicDlNqV51O6ETdmmxnykfS87LVx8W8TelThEglscaBiImatoI5Nz3bkzdEkVBbUSLjcRpgrSw8BE8EUJrTp7Mf6r7F9bnD4uDOYM92gUvYj+xX34CbYfnsABB23AkjyVSeg9TLlpZWeMlNORjLKsEG0N7t5u3iLcwnYi/tHSRIMoEUElEIyNw1Xhtd8MqyCvS0Q56jaR42IB8oce9HF4kntndRiTI8tsVWzuCQId5PHlxHIhjZWJo0KfbkXC14Yqqnu6oXuC+DhTi5VY0EEf68NwWmjrs31XbXrJsFR/1zElQukh6Hry8F0lmGk+Q7s99x8Kl6ErnS7emdva30iqPofp/rUYS+JgLXf+1QCQChb9qwnrf21PGHHLCpCcYQ6zqD3MiApx/+PbMIb9MiACZmOfRSYzPs4FtV3v19rSg==;5:Hya78wEKNG83c7MRm2NVDimzv5pJBGUqCIlPzf9CkjcdIJasShLdFzlKPioRWByYmbvDJO07aXqloO3M8eezchbsER2eO+EoSgXygh6awCvMkC+rpJxqTX0DCAogsbPvonwB+7q5hx8H7NntzGJZQlJ5Vk5TjxI38Q/tOHhr8bs=;24:H4Yd5v5cceW4cTHrNU6fsiVosxtp6Bmr4diOECcqzNppgxuwEdSnQAmmiRAxt5oRWrP+IVVr4niahmAxeow/02V/AajQE4B6/CII9IyUciM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR04MB1976;7:FIOJyEDMXUybd64LSN5ry0+bPe/EsGi1n4ofV7M6ILp2NHOIBAL6q4JYHlCHMNyS2GzqR7nQD1dry+byOZKSKbjWBSMtNnn9UWbW3gMwLyRxyEGM+HMYqOethgqK6FJ0q3suYBNUjTHyiPRmhb8X7BgxQJQ6XYEJbpNv0tRjNZUL8Nh4K0zOJf/iDp4xflFzG08U4FI2DSPq5+iEDbWyqXymiA9LGg3MjEd+rUUVhaopg5D9KKeuTzBt4uduICR16b4dNOyPBeKWKRSa5QCXpMO9TV/oNz5yluss1qdhZcsEuYG+Pb9GPOOwgqKWjxpWAPQVq0qOC7l7Eadvmb9/OmOctlylBEhuySM9M7/7J9OrKHcG+DmaPkNoYvkCvX3WqqL0lkRggsKzLYiQVnmw8bQ5ouHLUoo/6uCb/I/a3hjC1tRodVnT8z4UITwSrus0g1MbSyK1Br0YYdtmyGOi1g==;20:hdDQbjvOU145sxUORwFxWloiaDPtjke5vb78rIrvnZ/W17ernDO5Q7La4hUeLBdhQ2bAW9iG5Bb9NCPvQBPPeeImvGhil8JW2YHu79XC625KUXdHE9NcMk1K2LC964I0yePnptPYm0B//EHe9rCmLSphI7rVwfhlBlLTvM7wLlJkkHEg1hDpiGIVYjgEbb2gQ6VfwdnfejClkcvhX1XIVfwdzqrCUifWFsbl/NZmw6un1bYPfV/L6jQbocPCCIUG X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2016 00:55:40.5114 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR04MB1976 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 779 Lines: 27 > sd.c ensures that the logical block size (sector size in sd.c) is a > power of 2 between 512 and 4096. So you can use: > > if (p.start & (bdev_physical_block_size(bdev) - 1)) Sorry, that was a little too short as a complete proof: sd.c ensures that the logical block size (sector size in sd.c) is a power of 2 between 512 and 4096, and the physical block size is a power of 2 number of logical blocks. So the physical block size is also always a power of 2. > > Or use div_u64_rem to avoid an error on 32 bits builds. > > Best regards. > -- Damien Le Moal, Ph.D. Sr. Manager, System Software Research Group, Western Digital Corporation Damien.LeMoal@wdc.com (+81) 0466-98-3593 (ext. 513593) 1 kirihara-cho, Fujisawa, Kanagawa, 252-0888 Japan www.wdc.com, www.hgst.com