On Sun, Nov 12, 2023 at 10:02:42AM +0200, Amir Goldstein wrote: > From: Alexander Larsson <alexl@xxxxxxxxxx> > > We now support xattr of overlayfs.* xattrs, so check that either > both set and get work, or neither. > > Signed-off-by: Alexander Larsson <alexl@xxxxxxxxxx> > Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx> > --- > > Zorro, > > This test is failing since overlayfs merge for v6.7-rc1, because it > encodes an expectation that set/get of private overlay.* xattrs > should fail. > > This expectation is no longer correct for new kernel, so Alex has > fixed the test to expect consistent behavior of set/get of private > overlay.* xattrs. > > We have some new tests for features merged for v6.7-rc1, but this fix > has higher priority, so sending it early. > > Thanks, > Amir. > > > tests/overlay/026 | 35 +++++++++++++++++++++++++---------- > tests/overlay/026.out | 2 -- > 2 files changed, 25 insertions(+), 12 deletions(-) > > diff --git a/tests/overlay/026 b/tests/overlay/026 > index 77030d20..f71b3f13 100755 > --- a/tests/overlay/026 > +++ b/tests/overlay/026 > @@ -57,21 +57,36 @@ $SETFATTR_PROG -n "trusted.overlayfsrz" -v "n" \ > _getfattr --absolute-names -n "trusted.overlayfsrz" \ > $SCRATCH_MNT/testf0 2>&1 | _filter_scratch > > -# {s,g}etfattr of "trusted.overlay.xxx" should fail. > +# {s,g}etfattr of "trusted.overlay.xxx" fail on older kernels > # The errno returned varies among kernel versions, > -# v4.3/7 v4.8-rc1 v4.8 v4.10 > -# setfattr not perm not perm not perm not supp > -# getfattr no attr no attr not perm not supp > +# v4.3/7 v4.8-rc1 v4.8 v4.10 v6.7 > +# setfattr not perm not perm not perm not supp ok > +# getfattr no attr no attr not perm not supp ok > # > -# Consider "Operation not {supported,permitted}" pass. > +# Consider both "Operation not {supported,permitted}" and > +# "No such attribute" as pass for getattr to support all kernel > +# version. However, the setfattr result must match getattr. > # > -$SETFATTR_PROG -n "trusted.overlay.fsz" -v "n" \ > - $SCRATCH_MNT/testf1 2>&1 | _filter_scratch | \ > - sed -e 's/permitted/supported/g' > > -_getfattr --absolute-names -n "trusted.overlay.fsz" \ > +getres=$(_getfattr --absolute-names -n "trusted.overlay.fsz" \ > + $SCRATCH_MNT/testf1 2>&1 | _filter_scratch) Can we have a helper in common/overlay to check if current FSTYP supports get or set overlay.* xattr, to deal with this patch? Thanks, Zorro > + > +supported=n > +if [[ "$getres" =~ "No such attribute" ]]; then > + supported=y > +else > + [[ "$getres" =~ Operation\ not\ (supported|permitted) ]] || echo unexpected getattr result: $getres > +fi > + > +setres=$($SETFATTR_PROG -n "trusted.overlay.fsz" -v "n" \ > $SCRATCH_MNT/testf1 2>&1 | _filter_scratch | \ > - sed -e 's/permitted/supported/g' > + sed -e 's/permitted/supported/g') > + > +if [ $supported == 'y' ]; then > + [[ "$setres" == "" ]] || echo unexpected setattr result: $setres > +else > + [[ "$setres" =~ "Operation not supported" ]] || echo unexpected setattr result: $setres > +fi > > # success, all done > status=0 > diff --git a/tests/overlay/026.out b/tests/overlay/026.out > index c4572d67..53030009 100644 > --- a/tests/overlay/026.out > +++ b/tests/overlay/026.out > @@ -2,5 +2,3 @@ QA output created by 026 > # file: SCRATCH_MNT/testf0 > trusted.overlayfsrz="n" > > -setfattr: SCRATCH_MNT/testf1: Operation not supported > -SCRATCH_MNT/testf1: trusted.overlay.fsz: Operation not supported > -- > 2.34.1 >