From a7b978f8f55bf47eeb4c16d41f155bcc90086366 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Sat, 14 May 2022 11:01:46 -0700 Subject: [PATCH] generic/556: add test case for top-level dir rename Test renaming a casefolded directory located in the top-level directory, while the cache is cold. When $MOUNT_OPTIONS contains test_dummy_encryption, this detects an f2fs bug. Signed-off-by: Eric Biggers Reviewed-by: Gabriel Krisman Bertazi Signed-off-by: Zorro Lang --- tests/generic/556 | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/generic/556 b/tests/generic/556 index 1296e2415..404a3243a 100755 --- a/tests/generic/556 +++ b/tests/generic/556 @@ -353,6 +353,21 @@ test_file_rename() echo "Name shouldn't change." } +test_toplevel_dir_rename() +{ + local dir=${SCRATCH_MNT}/dir_rename + + # With the cache cold, rename a casefolded directory located in the + # top-level directory. If $MOUNT_OPTIONS contains + # test_dummy_encryption, this detects the bug that was fixed by + # 'f2fs: don't use casefolded comparison for "." and ".."'. + mkdir ${dir} + _casefold_set_attr ${dir} + sync + echo 2 > /proc/sys/vm/drop_caches + mv ${dir} ${dir}.new +} + # Test openfd with casefold. # 1. Delete a file after gettings its fd. # 2. Then create new dir with same name @@ -491,6 +506,7 @@ test_dir_name_preserve test_name_reuse test_create_with_same_name test_file_rename +test_toplevel_dir_rename test_casefold_openfd test_casefold_openfd2 test_hard_link_lookups -- 2.50.1