Hi all, This is the 2nd revision of crash consistency patch set. The main thing that changed since v1 is my confidence in the failures reported by the test, along with some more debugging options for running the test tools. I've collected these patches that have been sitting in Josef Bacik's tree for a few years and kicked them a bit into shape. The dm-log-writes target has been merged to kernel v4.1, see: https://github.com/torvalds/linux/blob/master/Documentation/device-mapper/log-writes.txt For this posting, I kept the random seeds constant for the test. I set these constant seeds after running with random seed for a little while and getting failure reports. With the current values in the test I was able to reproduce at high probablity failures with xfs, ext4 and btrfs. The probablity of reproducing the failure is higher on a spinning disk. For xfs, I posted a fix for potential data loss post fsync+crash. For ext4, I posted a reliable reproducer using dm-flakey. For btrfs, I shared the recorded log with Josef. There is an outstanding problem with the test - when I run it with kvm-xfstests, the test halts and I get soft lockup of log_writes_kthread. I suppose its a bug in dm-log-writes with some kernel config or with virtio I wasn't able to determine the reason and have little time to debug this. Since dm-log-writes is anyway in upstream kernel, I don't think a bug in dm-log-writes for a certain config is a reason to block this xfstest from being merged. Anyway, I would be glad if someone could take a look at the soft lockup issue. Josef? Thanks, Amir. Amir Goldstein (14): common/rc: convert some egrep to grep common/rc: fix _require_xfs_io_command params check fsx: fixes to random seed fsx: fix path of .fsx* files fsx: fix compile warnings fsx: add support for integrity check with dm-log-writes target fsx: add optional logid prefix to log messages fsx: add support for --record-ops fsx: add support for -g filldata log-writes: add replay-log program to replay dm-log-writes target replay-log: output log replay offset in verbose mode replay-log: add support for replaying ops in target device range fstests: add support for working with dm-log-writes target fstests: add crash consistency fsx test using dm-log-writes .gitignore | 1 + README | 2 + common/dmlogwrites | 84 +++++++++ common/rc | 15 +- doc/auxiliary-programs.txt | 8 + doc/requirement-checking.txt | 20 +++ ltp/fsx.c | 220 +++++++++++++++++++---- src/Makefile | 2 +- src/log-writes/Makefile | 23 +++ src/log-writes/SOURCE | 6 + src/log-writes/log-writes.c | 410 +++++++++++++++++++++++++++++++++++++++++++ src/log-writes/log-writes.h | 72 ++++++++ src/log-writes/replay-log.c | 381 ++++++++++++++++++++++++++++++++++++++++ tests/generic/500 | 138 +++++++++++++++ tests/generic/500.out | 2 + tests/generic/group | 1 + 16 files changed, 1340 insertions(+), 45 deletions(-) create mode 100644 common/dmlogwrites create mode 100644 src/log-writes/Makefile create mode 100644 src/log-writes/SOURCE create mode 100644 src/log-writes/log-writes.c create mode 100644 src/log-writes/log-writes.h create mode 100644 src/log-writes/replay-log.c create mode 100755 tests/generic/500 create mode 100644 tests/generic/500.out -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html