From: Dave Kleikamp Date: Fri, 17 Jul 2015 16:32:59 +0000 (-0700) Subject: block: loop: Enable directIO on nfs X-Git-Tag: v4.1.12-92~318^2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=9c28a8c828ca94b789b6afffe71c6618da1eabd2;p=users%2Fjedix%2Flinux-maple.git block: loop: Enable directIO on nfs The 512-byte io_min restriction is only enforced if the backing filesystem actually resides on a block device. Signed-off-by: Dave Kleikamp Signed-off-by: Santosh Shilimkar --- diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 0fb2c0a59a59..7b326f2a95bf 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -518,12 +518,14 @@ static void __loop_update_dio(struct loop_device *lo, bool dio) * 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; }