mbox series

[v3,00/17] generic: add some mmap CoW tests

Message ID 20211214081914.2478122-1-ruansy.fnst@fujitsu.com (mailing list archive)
Headers show
Series generic: add some mmap CoW tests | expand

Message

Shiyang Ruan Dec. 14, 2021, 8:18 a.m. UTC
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

Comments

Eryu Guan Dec. 19, 2021, 4:04 p.m. UTC | #1
On Tue, Dec 14, 2021 at 04:18:57PM +0800, Shiyang Ruan wrote:
> 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

Looks good to me overall, thanks!. But it's a large patchset, I'd like
wait for another week for feedbacks, and will merge it next week if
there's no further comments

Thanks,
Eryu

> 
> 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
> 
>