generic/631: use trusted.* extended attributes to filter NFS filesystem
authorDai Shili <daisl.fnst@fujitsu.com>
Fri, 25 Mar 2022 20:04:12 +0000 (16:04 -0400)
committerEryu Guan <guaneryu@gmail.com>
Sun, 10 Apr 2022 15:16:44 +0000 (23:16 +0800)
Since commit 2461e8901c ("generic/631: Add a check for extended
attributes"), check of user.* extended attributes was added to avoid
running this tests for filesystems that are not supported.

But it still fails on NFSv4.2 when mount overlayfs with the
following error.

/var/mnt/scratch/merged0: wrong fs type, bad option, bad superblock
on overlay, missing codepage or helper program, or other error.

dmesg log reports the following -
overlayfs: upper fs does not support xattr, falling back to index=off and metacopy=off.

As per the linux patch series(https://lwn.net/Articles/799185/ ), the
support of user extended attributes were added to NFSv4.2.  So this
case passed the check of extended attributes by _require_attrs.

As per the overlayfs documentation -

"The upper filesystem will normally be writable and if it is it must
support the creation of trusted.* and/or user.* extended attributes,
and must provide valid d_type in readdir responses, so NFS is not
suitable."

So we can replace user.* extended attributes check with trusted.* to
filter NFS filesystem.

Signed-off-by: Dai Shili <daisl.fnst@fujitsu.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/generic/631

index aae181dd2d374d44d33ded6d1068ba7fd4397d3e..4996bce70550eb3315c8a85f8749fe86872fd00e 100755 (executable)
@@ -38,7 +38,7 @@ _cleanup()
 # real QA test starts here
 _supported_fs generic
 _require_scratch
-_require_attrs
+_require_attrs trusted
 test "$FSTYP" = "overlay" && _notrun "Test does not apply to overlayfs."
 _require_extra_fs overlay