From: David Oberhollenzer Date: Wed, 7 Jun 2017 08:20:46 +0000 (+0200) Subject: generic/398: Accept failing with EPERM in addition to ENOKEY for rename without key X-Git-Tag: v2022.05.01~2020 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=62de87749aebfe4d22639c5077f061bc281d6fc5;p=xfstests-dev.git generic/398: Accept failing with EPERM in addition to ENOKEY for rename without key Some filesystems (e.g. UBIFS) fail with EPERM when trying to move a file into an encrypted directory via cross rename, without having access to the encryption key. Since rename is perfectly allowed to return EPERM, which is also tested for, and no precise specification seems to exist that clarifies when to expect EPERM and when ENOKEY, this patch modifies the generic/398 test to accept both, for the test case where the key is not available. Signed-off-by: David Oberhollenzer Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- diff --git a/tests/generic/398 b/tests/generic/398 index b486b9c5..f283193b 100755 --- a/tests/generic/398 +++ b/tests/generic/398 @@ -43,6 +43,12 @@ _cleanup() rm -f $tmp.* } +filter_enokey() +{ + # rename without key can also fail with EPERM instead of ENOKEY + sed -e "s/Required key not available/Operation not permitted/g" +} + # get standard environment, filters and checks . ./common/rc . ./common/filter @@ -149,9 +155,9 @@ efile1=$(find $edir1 -type f) efile2=$(find $edir2 -type f) echo -e "\n\n*** Exchange encrypted <=> encrypted without key ***" -src/renameat2 -x $efile1 $efile2 +src/renameat2 -x $efile1 $efile2 |& filter_enokey echo -e "\n*** Exchange encrypted <=> unencrypted without key ***" -src/renameat2 -x $efile1 $udir/ufile +src/renameat2 -x $efile1 $udir/ufile |& filter_enokey # success, all done status=0 diff --git a/tests/generic/398.out b/tests/generic/398.out index 8e08270d..f9274878 100644 --- a/tests/generic/398.out +++ b/tests/generic/398.out @@ -39,7 +39,7 @@ Operation not permitted *** Exchange encrypted <=> encrypted without key *** -Required key not available +Operation not permitted *** Exchange encrypted <=> unencrypted without key *** -Required key not available +Operation not permitted