Chao Yu
3024c9a1fe
Revert "f2fs: move i_size_write in f2fs_write_end"
...
This reverts commit a2ee0a300344a6da76186129b078113354fe13d2.
When testing with generic/032 of xfstest suit, failure message will be
reported as below:
generic/032 8s ... [failed, exit status 1] - output mismatch (see results/generic/032.out.bad)
--- tests/generic/032.out 2015-01-11 16:52:27.643681072 +0800
+++ results/generic/032.out.bad 2016-08-06 13:44:43.861330500 +0800
@@ -1,5 +1,5 @@
QA output created by 032
-100 iterations
-0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
-*
-0100000
+1: [768..775]: unwritten
+Unwritten extents found!
...
(Run 'diff -u tests/generic/032.out results/generic/032.out.bad' to see the entire diff)
Ran: generic/032
Failures: generic/032
Failed 1 of 1 tests
In write_end(), we should update i_size of inode before unlock page,
otherwise, we will lose newly updated data in following race condition.
Thread A Thread B
- write_end
- unlock page
- writepages
- lock_page
- writepage
if page is out-of-range of file size,
we will skip writting the page.
- update i_size
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2016-08-19 11:15:08 +09:00
..
2016-08-07 10:01:14 -04:00
2016-08-07 10:01:14 -04:00
2016-07-31 16:37:25 -04:00
2016-08-06 00:08:40 -04:00
2016-08-06 09:49:02 -04:00
2016-05-23 17:04:14 -07:00
2016-05-09 11:41:14 -04:00
2016-08-10 11:16:03 -07:00
2016-08-03 13:33:26 -04:00
2016-08-09 17:26:56 +02:00
2016-07-31 16:37:25 -04:00
2016-05-29 19:08:00 -04:00
2016-07-10 21:02:18 +09:00
2016-05-09 11:41:14 -04:00
2016-06-07 13:41:38 -06:00
2016-06-30 23:34:49 -04:00
2016-06-23 15:47:31 -05:00
2016-06-23 11:55:58 -05:00
2016-07-08 10:35:28 -05:00
2016-07-31 16:37:25 -04:00
2016-05-20 17:58:30 -07:00
2016-06-07 13:41:38 -06:00
2016-05-02 19:49:29 -04:00
2016-08-06 09:49:02 -04:00
2016-07-28 12:59:05 -07:00
2016-08-19 11:15:08 +09:00
2016-08-07 10:01:14 -04:00
2016-06-13 10:20:39 +02:00
2016-06-30 23:34:49 -04:00
2016-08-06 09:49:02 -04:00
2016-08-07 10:03:31 -04:00
2016-08-07 10:01:14 -04:00
2016-08-07 10:01:14 -04:00
2016-08-04 00:18:10 +02:00
2016-07-31 16:37:25 -04:00
2016-04-04 10:41:08 -07:00
2016-07-31 16:37:25 -04:00
2016-07-26 18:35:55 -07:00
2016-06-10 20:21:46 -07:00
2016-07-31 16:37:25 -04:00
2016-07-29 15:54:19 -07:00
2016-07-28 12:59:05 -07:00
2016-08-06 09:49:02 -04:00
2016-05-02 19:49:32 -04:00
2016-07-31 16:37:25 -04:00
2016-08-12 12:32:24 -07:00
2016-08-12 16:10:25 -04:00
2016-08-02 19:35:21 -04:00
2016-05-19 19:12:14 -07:00
2016-07-28 12:59:05 -07:00
2016-08-06 09:49:02 -04:00
2016-05-09 11:41:14 -04:00
2016-05-09 11:41:14 -04:00
2016-08-02 15:39:13 -04:00
2016-07-29 12:05:25 +02:00
2016-08-11 16:58:13 -07:00
2016-08-05 11:21:46 -07:00
2016-05-09 11:41:14 -04:00
2016-05-09 11:41:14 -04:00
2016-07-29 15:54:19 -07:00
2016-05-20 17:58:30 -07:00
2016-08-02 19:35:22 -04:00
2016-05-09 11:41:15 -04:00
2016-06-07 13:41:38 -06:00
2016-06-23 15:41:56 -05:00
2016-06-10 20:21:46 -07:00
2016-05-29 16:22:07 -04:00
2016-07-29 23:32:37 +02:00
2016-07-26 15:37:51 -07:00
2016-07-28 12:59:05 -07:00
2016-08-07 10:03:31 -04:00
2016-05-23 17:04:14 -07:00
2016-07-05 15:06:46 -05:00
2016-05-27 20:09:16 -04:00
2016-05-28 16:34:59 -07:00
2016-07-25 16:51:49 +10:00
2016-08-02 19:35:14 -04:00
2016-08-02 19:35:15 -04:00
2016-07-28 13:29:12 +10:00
2016-08-07 10:13:14 -04:00
2016-08-07 14:41:02 -06:00
2016-07-27 09:53:35 -07:00
2016-07-14 16:21:53 +09:00
2016-06-28 10:00:13 -03:00
2016-05-24 12:55:26 -07:00
2016-06-07 22:07:09 -04:00
2016-07-28 17:38:16 -07:00
2016-08-07 10:01:14 -04:00
2016-06-07 13:41:38 -06:00
2016-03-22 15:36:02 -07:00
2016-05-19 19:12:14 -07:00
2016-08-04 18:04:44 -04:00
2016-03-22 15:36:02 -07:00
2016-05-02 19:49:28 -04:00
2016-08-09 19:58:06 -06:00
2016-08-07 10:01:14 -04:00
2016-08-07 10:13:14 -04:00
2016-07-28 15:23:12 -07:00
2016-06-21 09:38:45 +10:00
2016-08-04 19:59:06 -04:00
2016-07-28 13:29:13 +10:00
2016-06-20 17:11:29 -04:00
2016-07-01 10:24:18 -04:00
2016-06-21 09:23:11 +10:00
2016-02-22 22:44:04 -05:00
2016-08-07 14:41:02 -06:00
2016-08-07 10:03:31 -04:00
2016-07-29 15:54:19 -07:00
2016-08-07 10:13:14 -04:00
2016-08-09 10:14:10 -07:00
2016-05-05 09:54:45 -05:00
2016-07-29 15:54:19 -07:00
2016-03-16 13:09:08 -04:00
2016-07-15 10:30:26 +02:00
2016-05-26 00:13:25 -04:00
2016-05-19 19:12:14 -07:00
2016-04-14 12:56:09 -07:00
2016-05-11 00:00:29 -04:00
2016-07-29 15:54:19 -07:00
2016-04-04 10:41:08 -07:00
2016-06-09 23:42:38 +02:00
2016-07-26 16:19:19 -07:00
2016-08-07 10:03:31 -04:00
2016-07-05 15:06:46 -05:00