Changes since v1: - Introduce _require_scratch_delalloc() to check if supports delay allocation - Remove useless _require_odirect and _require_cp_reflink in some cases This series is to add missing mmap CoW tests in some sets of testcases: Set 1. CoW on shared blocks which are interleaving reflinked by two files. - P1: add mmap test Set 2. CoW a range covers shared blocks and multiple kind of unshared blocks of the destination file. - P2 ~ P4, P6: add mmap test Set 3. CoW a range covers shared blocks and multiple kind of unshared blocks of the source file. - P12, P13: add missing buffered-io and direct-io test for mixed blocks - P8 ~ P11, P14: add mmap test Set 4. races tests - P15: race between reflink and mmap reading - P16: race between mmap writing to and reflink source file - P17: race between mmap writing to and reflink target file Shiyang Ruan (17): generic: add mmap CoW test for ranges of two shared files generic: add mmap CoW test for regular&destination extents generic: add mmap CoW test for unwritten&destination extents generic: add mmap CoW test for holes&destination extents common/rc: Introduce _require_scratch_delalloc() generic: add mmap CoW test for delalloc&destination extents generic: add mmap CoW test for mixed&destination extents generic: add mmap CoW test for regular&source extents generic: add mmap CoW test for unwritten&source extents generic: add mmap CoW test for holes&source extents generic: add mmap CoW test for delalloc&source extents generic: add buffered-io CoW test for mixed&source extents generic: add direct-io CoW test for mixed&source extents generic: add mmap CoW test for mixed&source extents generic: add race test between reflink and mmap read generic: add race test that mmap write to source of reflink generic: add race test that mmap write to target of reflink common/rc | 13 ++++++++ common/reflink | 62 +++++++++++++++++++++++++++++++++++++ tests/generic/194 | 1 + tests/generic/195 | 1 + tests/generic/199 | 1 + tests/generic/200 | 1 + tests/generic/293 | 1 + tests/generic/295 | 1 + tests/generic/540 | 1 + tests/generic/541 | 1 + tests/generic/542 | 1 + tests/generic/543 | 1 + tests/generic/900 | 69 +++++++++++++++++++++++++++++++++++++++++ tests/generic/900.out | 14 +++++++++ tests/generic/901 | 59 +++++++++++++++++++++++++++++++++++ tests/generic/901.out | 12 ++++++++ tests/generic/902 | 59 +++++++++++++++++++++++++++++++++++ tests/generic/902.out | 12 ++++++++ tests/generic/903 | 59 +++++++++++++++++++++++++++++++++++ tests/generic/903.out | 12 ++++++++ tests/generic/904 | 62 +++++++++++++++++++++++++++++++++++++ tests/generic/904.out | 12 ++++++++ tests/generic/905 | 67 ++++++++++++++++++++++++++++++++++++++++ tests/generic/905.out | 12 ++++++++ tests/generic/906 | 60 ++++++++++++++++++++++++++++++++++++ tests/generic/906.out | 12 ++++++++ tests/generic/907 | 62 +++++++++++++++++++++++++++++++++++++ tests/generic/907.out | 12 ++++++++ tests/generic/908 | 62 +++++++++++++++++++++++++++++++++++++ tests/generic/908.out | 12 ++++++++ tests/generic/909 | 65 ++++++++++++++++++++++++++++++++++++++ tests/generic/909.out | 12 ++++++++ tests/generic/910 | 65 ++++++++++++++++++++++++++++++++++++++ tests/generic/910.out | 12 ++++++++ tests/generic/911 | 66 +++++++++++++++++++++++++++++++++++++++ tests/generic/911.out | 12 ++++++++ tests/generic/912 | 66 +++++++++++++++++++++++++++++++++++++++ tests/generic/912.out | 12 ++++++++ tests/generic/913 | 72 +++++++++++++++++++++++++++++++++++++++++++ tests/generic/913.out | 5 +++ tests/generic/914 | 64 ++++++++++++++++++++++++++++++++++++++ tests/generic/914.out | 4 +++ tests/generic/915 | 64 ++++++++++++++++++++++++++++++++++++++ tests/generic/915.out | 4 +++ tests/xfs/172 | 12 +------- tests/xfs/223 | 1 + tests/xfs/224 | 1 + tests/xfs/228 | 1 + tests/xfs/230 | 1 + tests/xfs/257 | 1 + tests/xfs/258 | 1 + 51 files changed, 1284 insertions(+), 11 deletions(-) create mode 100755 tests/generic/900 create mode 100644 tests/generic/900.out create mode 100755 tests/generic/901 create mode 100644 tests/generic/901.out create mode 100755 tests/generic/902 create mode 100644 tests/generic/902.out create mode 100755 tests/generic/903 create mode 100644 tests/generic/903.out create mode 100755 tests/generic/904 create mode 100644 tests/generic/904.out create mode 100755 tests/generic/905 create mode 100644 tests/generic/905.out create mode 100755 tests/generic/906 create mode 100644 tests/generic/906.out create mode 100755 tests/generic/907 create mode 100644 tests/generic/907.out create mode 100755 tests/generic/908 create mode 100644 tests/generic/908.out create mode 100755 tests/generic/909 create mode 100644 tests/generic/909.out create mode 100755 tests/generic/910 create mode 100644 tests/generic/910.out create mode 100755 tests/generic/911 create mode 100644 tests/generic/911.out create mode 100755 tests/generic/912 create mode 100644 tests/generic/912.out create mode 100755 tests/generic/913 create mode 100644 tests/generic/913.out create mode 100755 tests/generic/914 create mode 100644 tests/generic/914.out create mode 100755 tests/generic/915 create mode 100644 tests/generic/915.out -- 2.34.1