generic: test dm-thin running out of data space vs concurrent discard
authorZorro Lang <zlang@redhat.com>
Thu, 12 Jul 2018 05:08:50 +0000 (13:08 +0800)
committerEryu Guan <guaneryu@gmail.com>
Thu, 12 Jul 2018 05:18:04 +0000 (13:18 +0800)
commit2c14233d9175ec6f026af3bbdfd236178490089b
treeef523f645feafe0c6fbb12f43ab1993ea0565191
parent94fa25ded894790d56d9272d6c3ff7d7a198719b
generic: test dm-thin running out of data space vs concurrent discard

If a user constructs a test that loops repeatedly over below steps
on dm-thin, block allocation can fail due to discards not having
completed yet (Fixed by a685557 dm thin: handle running out of data
space vs concurrent discard):

1) fill thin device via filesystem file
2) remove file
3) fstrim

And this maybe cause a deadlock (fast device likes ramdisk can help
a lot) when racing a fstrim with a filesystem (XFS) shutdown. (Fixed
by 8c81dd46ef3c Force log to disk before reading the AGF during a
fstrim)

This case can reproduce both two bugs if they're not fixed. If only
the dm-thin bug is fixed, then the test will pass. If only the fs
bug is fixed, then the test will fail. If both of bugs aren't fixed,
the test will hang.

Signed-off-by: Zorro Lang <zlang@redhat.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/generic/500 [new file with mode: 0755]
tests/generic/500.out [new file with mode: 0644]
tests/generic/group