mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
9860712610
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>
65 lines
1.7 KiB
Bash
Executable File
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
|