diff mbox series

overlay/084: Fix test to match new xwhiteouts dir on-disk format

Message ID 20240203081228.1725872-1-amir73il@gmail.com (mailing list archive)
State New, archived
Headers show
Series overlay/084: Fix test to match new xwhiteouts dir on-disk format | expand

Commit Message

Amir Goldstein Feb. 3, 2024, 8:12 a.m. UTC
The xwhiteouts feature, which is tested in this test, was added to
overlayfs in kernel v6.7.

The on-disk format of the xwhiteouts directory was changed in kernel
v6.8-rc2, specfically by commit 420332b94119 ("ovl: mark xwhiteouts
directory with overlay.opaque='x'") and backported to kernel v6.7.3,
so this test now fails on kernel >= v6.8-rc2 and => v6.7.3.

Adapt the test to the new on-disk format and add a hint to make sure
that the on-disk format change is backported to v6.7 based kernels.

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
---
 tests/overlay/084 | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Alexander Larsson Feb. 5, 2024, 10:17 a.m. UTC | #1
On Sat, 2024-02-03 at 10:12 +0200, Amir Goldstein wrote:
> The xwhiteouts feature, which is tested in this test, was added to
> overlayfs in kernel v6.7.
> 
> The on-disk format of the xwhiteouts directory was changed in kernel
> v6.8-rc2, specfically by commit 420332b94119 ("ovl: mark xwhiteouts
> directory with overlay.opaque='x'") and backported to kernel v6.7.3,
> so this test now fails on kernel >= v6.8-rc2 and => v6.7.3.
> 
> Adapt the test to the new on-disk format and add a hint to make sure
> that the on-disk format change is backported to v6.7 based kernels.
> 
> Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Acked-by: Alexander Larsson <alexl@redhat.com>

> ---
>  tests/overlay/084 | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/overlay/084 b/tests/overlay/084
> index 8465caeb..778396a1 100755
> --- a/tests/overlay/084
> +++ b/tests/overlay/084
> @@ -25,6 +25,11 @@ _cleanup()
>  
>  # real QA test starts here
>  _supported_fs overlay
> +# This test does not run on kernels prior ro v6.7 and now it will
> also make sure
> +# that the following on-disk format change was backported to v6.7
> based kernels
> +_fixed_by_kernel_commit 420332b94119 \
> +	"ovl: mark xwhiteouts directory with overlay.opaque='x'"
> +
>  # We use non-default scratch underlying overlay dirs, we need to
> check
>  # them explicity after test.
>  _require_scratch_nocheck
> @@ -115,7 +120,8 @@ do_test_xwhiteout()
>  
>  	mkdir -p $basedir/lower $basedir/upper $basedir/work
>  	touch $basedir/lower/regular $basedir/lower/hidden 
> $basedir/upper/hidden
> -	setfattr -n $prefix.overlay.whiteouts -v "y" $basedir/upper
> +	# overlay.opaque="x" means directory has xwhiteout children
> +	setfattr -n $prefix.overlay.opaque -v "x" $basedir/upper
>  	setfattr -n $prefix.overlay.whiteout -v "y"
> $basedir/upper/hidden
>  
>  	# Test the hidden is invisible
diff mbox series

Patch

diff --git a/tests/overlay/084 b/tests/overlay/084
index 8465caeb..778396a1 100755
--- a/tests/overlay/084
+++ b/tests/overlay/084
@@ -25,6 +25,11 @@  _cleanup()
 
 # real QA test starts here
 _supported_fs overlay
+# This test does not run on kernels prior ro v6.7 and now it will also make sure
+# that the following on-disk format change was backported to v6.7 based kernels
+_fixed_by_kernel_commit 420332b94119 \
+	"ovl: mark xwhiteouts directory with overlay.opaque='x'"
+
 # We use non-default scratch underlying overlay dirs, we need to check
 # them explicity after test.
 _require_scratch_nocheck
@@ -115,7 +120,8 @@  do_test_xwhiteout()
 
 	mkdir -p $basedir/lower $basedir/upper $basedir/work
 	touch $basedir/lower/regular $basedir/lower/hidden  $basedir/upper/hidden
-	setfattr -n $prefix.overlay.whiteouts -v "y" $basedir/upper
+	# overlay.opaque="x" means directory has xwhiteout children
+	setfattr -n $prefix.overlay.opaque -v "x" $basedir/upper
 	setfattr -n $prefix.overlay.whiteout -v "y" $basedir/upper/hidden
 
 	# Test the hidden is invisible