Files
apfstests/tests/overlay/011
T
Frank van der Linden 9860712610 fstests: explicitly specify xattr namespace
Explicitly specify the xattr namespace required for tests.
This allows tests to be skipped correctly for filesystems
that don't support all xattr namespaces.

This changes all tests that require anything other than
the "user" xattr namespace. When called without arguments
as before, _require_attrs() still defaults to the "user"
namespace, so those tests do not need to be changed.

Signed-off-by: Frank van der Linden <fllinden@amazon.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2020-09-14 00:45:14 +08:00

65 lines
1.7 KiB
Bash
Executable File

#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2016 Red Hat Inc. All Rights Reserved.
#
# FS QA Test 011
#
# test overlay private xattr on overlayfs with multiple lower dirs, all the
# lower layers except the lowest one should honor overlay private xattr
# "trusted.overlay", which means it should not be visible to user.
#
# Commit b581755b1c56 ("ovl: xattr filter fix") fixed this issue.
#
seq=`basename $0`
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15
_cleanup()
{
cd /
rm -f $tmp.*
}
# get standard environment, filters and checks
. ./common/rc
. ./common/filter
. ./common/attr
rm -f $seqres.full
# real QA test starts here
_supported_fs overlay
_supported_os Linux
_require_test
_require_scratch
_require_attrs trusted
# Remove all files from previous tests
_scratch_mkfs
# Create test dir on upper and make it opaque by setting proper xattr
lowerdir=$OVL_BASE_SCRATCH_MNT/$OVL_LOWER
upperdir=$OVL_BASE_SCRATCH_MNT/$OVL_UPPER
mkdir -p $lowerdir/testdir
mkdir -p $upperdir/testdir
$SETFATTR_PROG -n "trusted.overlay.opaque" -v "y" $upperdir/testdir
# mount overlay with multiple lowerdirs, with $lowerdir as the lowest dir and
# $upperdir overlaid on top of $lowerdir, so that "trusted.overlay.opaque"
# xattr should be honored and should not be listed
# mount readonly, because there's no upper and workdir
$MOUNT_PROG -t overlay -o ro -o lowerdir=$upperdir:$lowerdir $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT
# Dump trusted.overlay xattr, we should not see the "opaque" xattr
_getfattr -d -m overlay $SCRATCH_MNT/testdir
echo "Silence is golden"
# success, all done
status=0
exit