5 # Check behavior of chown with both user and group quota enabled,
6 # and changing both user and group together via chown(2).
8 #-----------------------------------------------------------------------
9 # Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
11 # This program is free software; you can redistribute it and/or modify it
12 # under the terms of version 2 of the GNU General Public License as
13 # published by the Free Software Foundation.
15 # This program is distributed in the hope that it would be useful, but
16 # WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19 # Further, this software is distributed without any warranty that it is
20 # free of the rightful claim of any third person regarding infringement
21 # or the like. Any license provided herein, whether implied or
22 # otherwise, applies only to this software file. Patent licenses, if
23 # any, provided herein do not apply to combinations of this program with
24 # other software, or any other product whatsoever.
26 # You should have received a copy of the GNU General Public License along
27 # with this program; if not, write the Free Software Foundation, Inc., 59
28 # Temple Place - Suite 330, Boston MA 02111-1307, USA.
30 # Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
31 # Mountain View, CA 94043, or:
35 # For further information regarding this notice, see:
37 # http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
38 #-----------------------------------------------------------------------
44 echo "QA output created by $seq"
48 status=1 # failure is the default!
50 # get standard environment, filters and checks
57 umount $SCRATCH_MNT 2>/dev/null
60 trap "_cleanup; exit \$status" 0 1 2 3 15
61 cp /dev/null $seq.full
62 chmod ugo+rwx $seq.full
72 s/Device: *[0-9][0-9]*,[0-9][0-9]*/Device: <DEVICE>/;
73 s/Inode: *[0-9][0-9]*/Inode: <INODE>/;
74 s,$SCRATCH_MNT,<MOUNT>,;
80 mkfs -t xfs -f $SCRATCH_DEV >/dev/null 2>&1
84 touch $SCRATCH_MNT/testfile
86 chown 12345 $SCRATCH_MNT/testfile
87 chgrp 54321 $SCRATCH_MNT/testfile
88 src/lstat64 $SCRATCH_MNT/testfile | _filter_stat
90 chown 34567 $SCRATCH_MNT/testfile
91 chgrp 76543 $SCRATCH_MNT/testfile
92 src/lstat64 $SCRATCH_MNT/testfile | _filter_stat
94 chown 56789 $SCRATCH_MNT/testfile
95 chgrp 98765 $SCRATCH_MNT/testfile
96 src/lstat64 $SCRATCH_MNT/testfile | _filter_stat
98 # finally give back to original owners
99 chown 12345 $SCRATCH_MNT/testfile
100 chgrp 54321 $SCRATCH_MNT/testfile
101 src/lstat64 $SCRATCH_MNT/testfile | _filter_stat
104 umount $SCRATCH_MNT 2>/dev/null
107 # real QA test starts here
108 mkfs -t xfs -f $SCRATCH_DEV >/dev/null 2>&1
109 MOUNT_OPTIONS="-o usrquota,grpquota"; export MOUNT_OPTIONS
111 if src/feature -G $SCRATCH_DEV ; then
114 _notrun "No quota support at mount time"
116 umount $SCRATCH_MNT 2>/dev/null
118 MOUNT_OPTIONS=""; export MOUNT_OPTIONS
119 echo "*** Default mount options"
122 MOUNT_OPTIONS="-o usrquota"; export MOUNT_OPTIONS
123 echo "*** User quota mount option"
126 MOUNT_OPTIONS="-o grpquota"; export MOUNT_OPTIONS
127 echo "*** Group quota mount option"
130 MOUNT_OPTIONS="-o usrquota,grpquota"; export MOUNT_OPTIONS
131 echo "*** User and Group quota mount options"