Jaegeuk Kim
b6a245eb34
f2fs: don't need to wait for node writes for atomic write
...
We have a node chain to serialize node block writes, so if any IOs for
node block writes are reordered, we'll get broken node chain. IOWs,
roll-forward recovery will see all or none node blocks given fsync
mark.
E.g.,
Node chain consists of:
N1 -> N2 -> N3 -> NFSYNC -> N1' -> N2' -> N'FSYNC
Reordered to:
1) N1 -> N2 -> N3 -> N2' -> NFSYNC -> N'FSYNC -> power-cut
2) N1 -> N2 -> N3 -> N1' -> NFSYNC -> power-cut
3) N1 -> N2 -> NFSYNC -> N1' -> N'FSYNC -> N3 -> power-cut
4) N1 -> NFSYNC -> N1' -> N2' -> N'FSYNC -> N3 -> power-cut
Roll-forward recovery can proceed to:
1) N1 -> N2 -> N3 -> NFSYNC -> X
2) N1 -> N2 -> N3 -> NFSYNC -> N1' -> X
3) N1 -> N2 -> N3 -> FSYNC -> N1' -> X
4) N1 -> X
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2017-07-31 16:48:34 -07:00
..
2017-07-11 06:08:58 -04:00
2017-07-11 06:06:17 -04:00
2017-07-15 12:00:42 -07:00
2017-07-10 11:40:19 -07:00
2017-07-15 12:00:42 -07:00
2017-07-12 16:26:00 -07:00
2017-07-15 12:00:42 -07:00
2017-06-20 12:19:14 +02:00
2017-07-17 14:54:59 +02:00
2017-07-15 12:44:02 -07:00
2017-06-29 17:49:23 -04:00
2017-06-12 13:20:20 +02:00
2017-07-09 09:31:22 -07:00
2017-07-15 12:00:42 -07:00
2017-04-20 12:09:55 -06:00
2017-07-11 06:09:21 -04:00
2017-07-05 18:44:22 -04:00
2017-07-18 11:23:56 +02:00
2017-07-09 09:31:22 -07:00
2017-07-31 16:48:34 -07:00
2017-05-20 16:12:30 -07:00
2017-07-15 12:00:42 -07:00
2017-05-08 17:15:14 -07:00
2017-07-18 18:23:39 +02:00
2017-07-15 12:00:42 -07:00
2017-07-18 12:33:16 +02:00
2017-07-07 19:38:17 -07:00
2017-04-19 11:35:55 -07:00
2017-07-25 08:51:57 -07:00
2017-07-13 15:58:03 -04:00
2017-07-08 10:50:54 -07:00
2017-07-06 16:24:35 -07:00
2017-07-21 16:26:01 -07:00
2017-07-17 13:15:06 -04:00
2017-07-03 13:08:04 -07:00
2017-07-07 20:09:10 -04:00
2017-05-28 10:11:48 -07:00
2017-07-06 16:24:30 -07:00
2017-07-06 03:31:46 -04:00
2017-07-15 12:00:42 -07:00
2017-07-20 11:08:21 +02:00
2017-07-19 08:55:18 -07:00
2017-07-15 12:00:42 -07:00
2017-06-22 11:46:48 -04:00
2017-07-06 03:31:46 -04:00
2017-07-18 11:24:08 +02:00
2017-04-08 17:33:32 +02:00
2017-07-05 18:44:22 -04:00
2017-07-06 03:31:46 -04:00
2017-07-14 22:50:57 +02:00
2017-06-14 11:21:02 +02:00
2017-07-07 18:39:15 -07:00
2017-07-14 22:57:32 -07:00
2017-06-27 12:05:36 -06:00
2017-07-10 16:32:36 -07:00
2017-07-16 09:24:05 -07:00
2017-04-26 23:54:06 -04:00
2017-07-07 19:38:17 -07:00
2017-07-10 16:32:30 -07:00
2017-07-08 10:15:02 -07:00
2017-04-17 12:52:27 -04:00
2017-07-07 19:38:17 -07:00
2017-07-15 12:00:42 -07:00
2017-06-27 12:05:36 -06:00
2017-07-03 21:13:25 -07:00
2017-07-12 16:26:01 -07:00
2017-07-07 20:05:08 -07:00
2017-07-07 13:48:18 -07:00
2017-04-17 12:52:26 -04:00
2017-07-06 07:02:25 -04:00
2017-07-06 16:24:30 -07:00
2017-07-15 12:00:42 -07:00
2017-06-20 12:19:14 +02:00
2017-07-12 16:26:05 -07:00
2017-07-08 10:50:54 -07:00
2017-05-09 09:12:53 -07:00
2017-07-14 22:57:32 -07:00
2017-07-12 16:26:00 -07:00
2017-07-06 07:02:29 -04:00
2017-05-27 06:07:19 -04:00
2017-06-22 11:44:55 -04:00
2017-07-19 08:55:18 -07:00
2017-07-03 21:13:25 -07:00
2017-07-19 08:55:18 -07:00
2017-07-15 12:00:42 -07:00
2017-07-06 03:27:09 -04:00
2017-07-07 19:38:17 -07:00
2017-07-06 03:27:09 -04:00
2017-05-23 08:41:17 -05:00
2017-07-07 21:48:15 -07:00
2017-04-17 12:52:24 -04:00
2017-07-06 20:57:13 -07:00
2017-05-08 17:15:12 -07:00
2017-06-20 12:18:27 +02:00
2017-06-29 17:49:23 -04:00
2017-06-09 16:28:01 -04:00
2017-07-08 10:50:54 -07:00
2017-07-11 06:09:21 -04:00
2017-07-05 18:44:23 -04:00
2017-06-30 04:14:38 -04:00
2017-07-06 16:24:34 -07:00
2017-04-17 12:52:23 -04:00
2017-05-08 17:15:13 -07:00