common: check if a given rename flag is supported in _require_renameat2

Some testcases may require a special rename flag, such as
RENAME_WHITEOUT, so add support check for if a given rename flag is
supported in _require_renameat2.

[Eryu: rename the helper to _require_renameat2 while we're at it,
and add 'exchange' check to generic/398 and generic/419]

Signed-off-by: kaixuxia <kaixuxia@tencent.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
kaixuxia
2019-09-18 19:47:47 +08:00
committed by Eryu Guan
parent 8e5bf2d06f
commit 4908565469
7 changed files with 43 additions and 35 deletions
+3 -10
View File
@@ -29,20 +29,13 @@ _supported_fs generic
_supported_os Linux
_require_test
_requires_renameat2
_require_renameat2 whiteout
_require_test_symlinks
rename_dir=$TEST_DIR/$$
mkdir $rename_dir
touch $rename_dir/foo $rename_dir/bar
if ! src/renameat2 -t -w $rename_dir/foo $rename_dir/bar; then
rm -f $rename_dir/foo $rename_dir/bar; rmdir $rename_dir
_notrun "fs doesn't support RENAME_WHITEOUT"
fi
rm -f $rename_dir/foo $rename_dir/bar
# real QA test starts here
rename_dir=$TEST_DIR/$$
mkdir $rename_dir
_rename_tests $rename_dir -w
rmdir $rename_dir