BACKPORT: loop: change queue block size to match when using DIO
The loop driver assumes that if the passed in fd is opened with O_DIRECT, the caller wants to use direct I/O on the loop device. However, if the underlying block device has a different block size than the loop block queue, direct I/O can't be enabled. Instead of requiring userspace to manually change the blocksize and re-enable direct I/O, just change the queue block sizes to match, as well as the io_min size. (BACKPORT because physical / io_min are not set in 4.9's loop.c). Bug: 148607611 Reviewed-by:Christoph Hellwig <hch@lst.de> Signed-off-by:
Martijn Coenen <maco@android.com> Signed-off-by:
Jens Axboe <axboe@kernel.dk> (cherry picked from commit 85560117d00f5d528e928918b8f61cadcefff98b) Change-Id: I753830e548b3bc33a0baa2baaaf710e1d169ab67
Loading
Please register or sign in to comment