From: Anand Jain Date: Fri, 13 Aug 2021 01:59:33 +0000 (+0800) Subject: btrfs/220: discard=sync support older kernel X-Git-Tag: v2022.05.01~283 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=1f940e6e67f5aad462001c4e1d6efef50cf0ff0a;p=xfstests-dev.git btrfs/220: discard=sync support older kernel mount option -o discard=sync isn't supported on the older kernel, make this test case older kernel compatible by checking if the mount option is supported. Signed-off-by: Anand Jain Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- diff --git a/tests/btrfs/220 b/tests/btrfs/220 index 7207c696..a01b28a6 100755 --- a/tests/btrfs/220 +++ b/tests/btrfs/220 @@ -263,9 +263,14 @@ test_revertible_options() test_roundtrip_mount "nodatasum" "nodatasum" "datasum" "$DEFAULT_OPTS" test_should_fail "discard=invalid" - test_roundtrip_mount "discard" "discard" "discard=sync" "discard" - test_roundtrip_mount "discard=async" "discard=async" "discard=sync" "discard" - test_roundtrip_mount "discard=sync" "discard" "nodiscard" "$DEFAULT_OPTS" + if [ "$enable_discard_sync" = true ]; then + test_roundtrip_mount "discard" "discard" "discard=sync" "discard" + test_roundtrip_mount "discard=async" "discard=async" "discard=sync" "discard" + test_roundtrip_mount "discard=sync" "discard" "nodiscard" "$DEFAULT_OPTS" + else + test_roundtrip_mount "discard" "discard" "discard" "discard" + test_roundtrip_mount "discard" "discard" "nodiscard" "$DEFAULT_OPTS" + fi test_roundtrip_mount "enospc_debug" "enospc_debug" "noenospc_debug" "$DEFAULT_OPTS" @@ -292,6 +297,13 @@ test_revertible_options() test_roundtrip_mount "notreelog" "notreelog" "treelog" "$DEFAULT_OPTS" } +# Find out if the running kernel supports the -o discard=sync option. +_scratch_mkfs >/dev/null +MOUNT_OPTIONS= +enable_discard_sync=false +_try_scratch_mount "-o discard=sync" > /dev/null 2>&1 && \ + { enable_discard_sync=true; _scratch_unmount; } + # real QA test starts here _scratch_mkfs >/dev/null