#! /bin/sh # XFS QA Test No. 067 # # Test out acl/dacls which fit in shortform in the inode # #----------------------------------------------------------------------- # Copyright (c) 2000, 2002 Silicon Graphics, Inc. All Rights Reserved. # # This program is free software; you can redistribute it and/or modify it # under the terms of version 2 of the GNU General Public License as # published by the Free Software Foundation. # # This program is distributed in the hope that it would be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # # Further, this software is distributed without any warranty that it is # free of the rightful claim of any third person regarding infringement # or the like. Any license provided herein, whether implied or # otherwise, applies only to this software file. Patent licenses, if # any, provided herein do not apply to combinations of this program with # other software, or any other product whatsoever. # # You should have received a copy of the GNU General Public License along # with this program; if not, write the Free Software Foundation, Inc., 59 # Temple Place - Suite 330, Boston MA 02111-1307, USA. # # Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, # Mountain View, CA 94043, or: # # http://www.sgi.com # # For further information regarding this notice, see: # # http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ #----------------------------------------------------------------------- # # creator owner=tes@sgi.com seq=`basename $0` echo "QA output created by $seq" here=`pwd` tmp=/tmp/$$ status=1 # failure is the default! trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15 # get standard environment, filters and checks . ./common.rc . ./common.filter . ./common.attr # real QA test starts here # _need_to_be_root _acl_requirements _require_scratch # set up fs for 1K inodes isize=0 _scratch_mkfs_xfs | _filter_mkfs >$seq.full 2>$tmp.mkfs [ $? -eq 0 ] && source $tmp.mkfs if [ "$isize" -lt 1024 ]; then _scratch_mkfs_xfs -i size=1024 >>$here/$seq.full \ || _notrun "Cannot mkfs for this test using MKFS_OPTIONS specified" fi _scratch_mount >>$here/$seq.full || _fail "mount failed" xfs_info $SCRATCH_MNT >>$here/$seq.full cd $SCRATCH_MNT echo "" echo "=== Test out large ACLs ===" mkdir largeacldir # John Trostel reported probs with going from 20 to 21 aces # 20 ace ACL = 20*12+4 = 244 bytes # 21 ace ACL = 21*12+4 = 256 bytes - too big for shortform # the 21 ace ACL can not be shortform # acl20=`_create_n_aces 20` acl21=`_create_n_aces 21` echo "try 20 aces for access acl" chacl $acl20 largeacldir getfacl largeacldir | _filter_aces echo "try 20 aces for default acl" chacl -d $acl20 largeacldir getfacl largeacldir | _filter_aces echo "try 21 aces for access acl" chacl $acl21 largeacldir getfacl largeacldir | _filter_aces echo "try 21 aces for default acl" chacl -d $acl21 largeacldir getfacl largeacldir | _filter_aces # success, all done status=0 exit