]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
block: loop: Enable directIO on nfs
authorDave Kleikamp <dave.kleikamp@oracle.com>
Fri, 17 Jul 2015 16:32:59 +0000 (09:32 -0700)
committerSantosh Shilimkar <santosh.shilimkar@oracle.com>
Fri, 17 Jul 2015 16:32:59 +0000 (09:32 -0700)
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>
drivers/block/loop.c

index 0fb2c0a59a59b28b7c66db26c8e6edbc1db71b07..7b326f2a95bf88ccd76e2912408a86932060199d 100644 (file)
@@ -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;
        }