Josef Bacik
0e267c44c3
Btrfs: wait ordered range before doing direct io
...
My recent truncate patch uncovered this bug, but I can reproduce it without the
truncate patch. If you mount with -o compress-force, do a direct write to some
area, do a buffered write to some other area, and then do a direct read you will
get the wrong data for where you did the buffered write. This is because the
generic direct io helpers only call filemap_write_and_wait once, and for
compression we need it twice. So to be safe add the btrfs_wait_ordered_range to
the start of the direct io function to make sure any compressed writes have
truly been written. This patch makes xfstests 130 pass when you mount with -o
compress-force=lzo. Thanks,
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
2013-07-02 11:51:49 -04:00
..
2012-12-16 20:46:15 -05:00
2012-07-25 16:15:07 -04:00
2012-03-22 01:45:34 +01:00
2013-07-02 11:51:02 -04:00
2013-07-01 08:52:29 -04:00
2013-05-06 15:54:49 -04:00
2013-05-17 21:52:52 -04:00
2011-12-21 19:14:09 +01:00
2009-01-06 09:38:55 -05:00
2013-05-06 15:55:23 -04:00
2013-05-06 15:55:23 -04:00
2013-07-02 11:51:20 -04:00
2013-07-02 11:50:45 -04:00
2013-06-14 11:29:28 -04:00
2013-03-07 07:52:40 -05:00
2013-05-06 15:55:17 -04:00
2013-05-17 21:40:15 -04:00
2013-06-14 11:29:41 -04:00
2012-12-12 17:15:41 -05:00
2013-05-06 15:55:23 -04:00
2013-06-14 11:30:13 -04:00
2013-06-14 11:29:38 -04:00
2013-06-14 11:29:30 -04:00
2008-09-25 11:04:06 -04:00
2013-07-02 11:50:45 -04:00
2013-07-02 11:50:45 -04:00
2013-05-06 15:55:23 -04:00
2013-05-06 15:54:34 -04:00
2013-07-02 11:50:53 -04:00
2013-07-02 11:50:47 -04:00
2013-07-02 11:50:45 -04:00
2013-06-14 11:29:56 -04:00
2013-06-14 11:29:18 -04:00
2012-10-09 09:14:45 -04:00
2013-05-06 15:55:23 -04:00
2013-05-17 21:40:22 -04:00
2011-04-25 16:46:11 +08:00
2013-07-02 11:51:49 -04:00
2013-06-14 11:30:03 -04:00
2013-05-06 15:55:16 -04:00
2013-05-06 15:55:23 -04:00
2013-03-14 14:57:10 -04:00
2013-07-01 08:52:26 -04:00
2013-02-01 14:24:23 -05:00
2012-12-11 13:31:30 -05:00
2013-07-02 11:50:47 -04:00
2013-07-02 11:50:47 -04:00
2012-03-22 11:52:54 +01:00
2013-05-06 15:54:23 -04:00
2013-05-06 15:55:23 -04:00
2013-06-14 11:30:10 -04:00
2013-05-17 21:52:52 -04:00
2013-02-01 14:24:23 -05:00
2012-06-14 21:29:16 -04:00
2013-05-06 15:54:55 -04:00
2013-07-02 11:50:47 -04:00
2013-07-02 11:50:52 -04:00
2013-07-02 11:50:58 -04:00
2013-06-14 11:30:12 -04:00
2013-05-06 15:55:23 -04:00
2012-07-23 16:28:06 -04:00
2013-07-01 08:52:27 -04:00
2013-03-01 15:01:01 -05:00
2013-07-02 11:50:53 -04:00
2013-07-02 11:50:53 -04:00
2013-02-20 12:59:36 -05:00
2013-06-14 11:30:17 -04:00
2013-05-06 15:55:23 -04:00
2013-07-02 11:50:59 -04:00
2013-05-06 15:54:44 -04:00
2013-07-02 11:50:53 -04:00
2013-07-02 11:50:53 -04:00
2013-05-06 15:55:23 -04:00
2011-02-01 11:12:29 -05:00
2012-10-09 09:19:57 -04:00