#! /bin/sh # XFS QA Test No. 067 # $Id: 067,v 1.7 2003/05/22 04:16:45 fsgqa Exp $ # # 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@sagan.melbourne.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 export MKFS_OPTIONS="-i size=1024" _scratch_mkfs_xfs >>$here/$seq.full || _error "mkfs failed" _scratch_mount >>$here/$seq.full || _error "mount failed" cd $SCRATCH_MNT # xfs_growfs -n $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