generic/500: doesn't work for btrfs
authorJosef Bacik <josef@toxicpanda.com>
Thu, 15 Aug 2019 18:26:59 +0000 (14:26 -0400)
committerEryu Guan <guaneryu@gmail.com>
Sat, 24 Aug 2019 14:08:21 +0000 (22:08 +0800)
Btrfs does COW, so when we unlink the file we need to update
metadata and write it to a new location, which we can't do because
the thinp is full.  This results in an EIO during a metadata write,
which makes us flip read only, thus making it impossible to fstrim
the fs.  Just make it so we skip this test for btrfs.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/generic/500

index 201d8b9ff8b70a33d71abf39db669daea8cbe761..5cd7126f16eccd857eed431912cd4fc39953c1f7 100755 (executable)
@@ -49,6 +49,12 @@ _supported_os Linux
 _require_scratch_nocheck
 _require_dm_target thin-pool
 
+# The unlink below will result in new metadata blocks for btrfs because of CoW,
+# and since we've filled the thinp device it'll return EIO, which will make
+# btrfs flip read only, making it fail this test when it just won't work right
+# for us in the first place.
+test $FSTYP == "btrfs"  && _notrun "btrfs doesn't work that way lol"
+
 # Require underlying device support discard
 _scratch_mkfs >>$seqres.full 2>&1
 _scratch_mount