generic/449: make the test effective against xfs
authorErnesto A. Fernández <ernesto.mnd.fernandez@gmail.com>
Wed, 2 Aug 2017 04:19:34 +0000 (01:19 -0300)
committerEryu Guan <eguan@redhat.com>
Thu, 3 Aug 2017 12:44:04 +0000 (20:44 +0800)
Setting acls on an xfs filesystem will succeed even after running
out of space for user attributes. Use trusted attributes instead.
Also speed up the test by setting large values for the attributes.

[eguan: use perl to generate attr value, and add comments on trusted
namespace]

Signed-off-by: Ernesto A. Fernández <ernesto.mnd.fernandez@gmail.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
tests/generic/449

index fb776b373d9378ee0b1638a64f17651a7e616a78..2326a731ce11c43afc0f1bac1dbca5c3a08145fd 100755 (executable)
@@ -69,6 +69,12 @@ chmod go-rwx $TFILE
 # Try to run out of space so setfacl will fail
 $XFS_IO_PROG -c "pwrite 0 50m" $TFILE >>$seqres.full 2>&1
 i=1
+
+# Setting acls on an xfs filesystem will succeed even after running out of
+# space for user attributes. Use trusted attributes
+while $SETFATTR_PROG -n trusted.$i -v $(perl -e 'print "a"x1024') $TFILE &>/dev/null; do
+       ((++i))
+done
 j=1
 ret=0
 while [ $ret -eq 0 ]; do
@@ -77,7 +83,7 @@ while [ $ret -eq 0 ]; do
                # On btrfs, setfattr will sometimes fail when free space is
                # low, long before it's actually exhausted. Insist until it
                # fails consistently.
-               $SETFATTR_PROG -n user.$i"x"$j $TFILE &>/dev/null
+               $SETFATTR_PROG -n trusted.$i"x"$j $TFILE &>/dev/null
                ret=$(( $ret && $? ))
                ((++j))
        done