Chandan Rajendra
dd545b52a3
do_direct_IO: Use inode->i_blkbits to compute block count to be cleaned
...
The code currently uses sdio->blkbits to compute the number of blocks to
be cleaned. However sdio->blkbits is derived from the logical block size
of the underlying block device (Refer to the definition of
do_blockdev_direct_IO()). Due to this, generic/299 test would rarely
fail when executed on an ext4 filesystem with 64k as the block size and
when using a virtio based disk (having 512 byte as the logical block
size) inside a kvm guest.
This commit fixes the bug by using inode->i_blkbits to compute the
number of blocks to be cleaned.
Signed-off-by: Chandan Rajendra <chandan@linux.vnet.ibm.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Fixed up by Jeff Moyer to only use/evaluate inode->i_blkbits once,
to avoid issues with block size changes with IO in flight.
Signed-off-by: Jens Axboe <axboe@fb.com>
2017-01-10 13:29:54 -07:00
..
2016-12-24 11:46:01 -08:00
2016-12-09 16:45:04 +01:00
2016-12-24 11:46:01 -08:00
2016-12-17 19:16:12 -08:00
2016-12-22 11:25:24 +00:00
2016-12-24 11:46:01 -08:00
2016-12-17 19:16:12 -08:00
2016-12-17 19:16:12 -08:00
2016-12-24 11:46:01 -08:00
2016-12-09 16:45:04 +01:00
2016-12-24 11:46:01 -08:00
2016-12-31 00:47:05 -05:00
2016-12-25 17:21:23 +01:00
2016-12-09 16:45:04 +01:00
2016-12-24 11:46:01 -08:00
2016-12-10 14:25:19 -05:00
2016-12-26 20:29:24 -08:00
2016-12-26 20:29:25 -08:00
2016-12-17 19:16:12 -08:00
2016-12-17 19:16:12 -08:00
2016-12-25 17:21:22 +01:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-12-09 16:45:04 +01:00
2016-12-24 11:46:01 -08:00
2016-12-13 10:19:16 -08:00
2016-12-24 11:46:01 -08:00
2016-12-09 16:45:04 +01:00
2016-12-24 11:46:01 -08:00
2016-12-17 19:16:12 -08:00
2016-11-18 10:59:15 -05:00
2016-12-09 16:45:04 +01:00
2016-12-24 11:46:01 -08:00
2016-12-25 17:21:23 +01:00
2016-11-18 10:59:15 -05:00
2016-12-24 11:46:01 -08:00
2016-12-17 19:16:12 -08:00
2017-01-05 23:06:06 -08:00
2016-12-24 11:46:01 -08:00
2016-12-25 17:21:22 +01:00
2016-12-24 11:46:01 -08:00
2016-12-17 19:16:12 -08:00
2016-12-17 19:16:12 -08:00
2016-12-24 11:46:01 -08:00
2016-12-13 09:16:11 -08:00
2016-12-19 08:23:53 -08:00
2016-12-24 11:46:01 -08:00
2016-12-17 19:16:12 -08:00
2016-12-17 19:16:12 -08:00
2016-12-09 16:45:04 +01:00
2016-12-17 19:16:12 -08:00
2016-11-01 09:43:26 -06:00
2016-12-24 11:46:01 -08:00
2017-01-03 20:34:17 -08:00
2016-12-25 17:21:22 +01:00
2016-12-24 11:46:01 -08:00
2016-12-09 11:57:43 +01:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2017-01-04 09:03:37 -08:00
2017-01-02 09:35:14 -07:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-12-26 20:29:25 -08:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2017-01-10 13:29:54 -07:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-12-05 19:01:16 -05:00
2016-12-24 11:46:01 -08:00
2016-12-12 18:55:08 -08:00
2016-12-17 18:44:00 -08:00
2016-12-16 11:02:54 +01:00
2016-12-14 21:35:31 -08:00
2016-12-16 10:24:44 -08:00
2016-10-24 08:12:35 -02:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-12-14 23:48:11 -05:00
2016-12-03 15:55:01 -05:00
2016-12-03 20:51:35 -05:00
2016-11-04 14:34:47 -06:00
2016-12-24 11:46:01 -08:00
2016-12-22 23:04:31 -05:00
2016-10-31 10:56:36 -04:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-12-16 16:30:49 -05:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00
2016-12-21 10:59:34 -08:00
2016-12-24 11:46:01 -08:00
2016-12-05 19:03:49 -05:00
2016-11-30 08:38:07 +01:00
2016-12-25 17:21:22 +01:00
2016-12-14 16:04:09 -08:00
2016-12-24 11:46:01 -08:00
2016-12-24 11:46:01 -08:00