The 512-byte io_min restriction is only enforced if the backing
filesystem actually resides on a block device.
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
* the offset is aligned with 512.
*/
if (dio) {
- if (inode->i_sb->s_bdev &&
- bdev_io_min(inode->i_sb->s_bdev) == 512 &&
- !(lo->lo_offset & 511))
+ if (inode->i_sb->s_bdev) {
+ if (bdev_io_min(inode->i_sb->s_bdev) == 512 &&
+ !(lo->lo_offset & 511))
+ use_dio = true;
+ else
+ use_dio = false;
+ } else
use_dio = true;
- else
- use_dio = false;
} else {
use_dio = false;
}