#! /bin/bash # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2017 Red Hat Inc. All Rights Reserved. # # FS QA Test 025 # # Overlayfs failed to get posix acls if lower or upper # fs is tmpfs. # Kernel commit below fixed it. # 5201dc449e4b ovl: use cached acl on underlying layer # # This reproducer was originally written by # Miklos Szeredi # 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 / $UMOUNT_PROG $tmpfsdir/mnt $UMOUNT_PROG $tmpfsdir rm -rf $tmpfsdir rm -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter # remove previous $seqres.full before test rm -f $seqres.full # real QA test starts here # Modify as appropriate. _supported_fs overlay _supported_os Linux _require_user _require_tmpfs # create a tmpfs in $TEST_DIR tmpfsdir=$TEST_DIR/tmpfs mkdir -p $tmpfsdir $MOUNT_PROG -t tmpfs tmpfs $tmpfsdir mkdir -p $tmpfsdir/{lower,upper,work,mnt} mkdir -p -m 0 $tmpfsdir/upper/testd # grant permission for $qa_user setfacl -m u:$qa_user:rx $tmpfsdir/upper/testd # mount overlay using dirs in tmpfs _overlay_mount_dirs $tmpfsdir/{lower,upper,work,overlay,mnt} # user accessing test dir, should be OKay _user_do "ls $tmpfsdir/mnt/testd" echo "Silence is golden" # success, all done status=0 exit