blob: 2b95ec64b7d09612bf7e70ad124e07a17f18e059 [file] [log] [blame]
#! /bin/bash
# FSQA Test No. 158
#
# get/set file attributes
#
#-----------------------------------------------------------------------
# Copyright (c) 2006 Silicon Graphics, Inc. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms 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. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
#-----------------------------------------------------------------------
#
# creator
owner=allanr@sgi.com
seq=`basename $0`
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()
{
_cleanup_testdir
}
# get standard environment, filters and checks
. ./common.rc
. ./common.filter
. ./common.dmapi
# real QA test starts here
_supported_fs xfs
_supported_os Linux IRIX
_require_scratch
_scratch_mkfs_xfs >/dev/null 2>&1
_dmapi_scratch_mount
touch $SCRATCH_MNT/dmapi_test
_get_file_attr() {
${DMAPI_QASUITE1_DIR}cmd/get_fileattr $SCRATCH_MNT/dmapi_test | grep $1
}
_set_file_attr() {
${DMAPI_QASUITE1_DIR}cmd/set_fileattr $@
}
#dt_atime
atime_before="`_get_file_attr dt_atime`"
_set_file_attr -a 05m $SCRATCH_MNT/dmapi_test
atime_after="`_get_file_attr dt_atime`"
[ "$atime_before" == "$atime_after" ] && echo "dt_atime not updated"
#dt_mtime
mtime_before="`_get_file_attr dt_mtime`"
_set_file_attr -m 10m $SCRATCH_MNT/dmapi_test
mtime_after="`_get_file_attr dt_mtime`"
[ "$mtime_before" == "$mtime_after" ] && echo "mt_mtime not updated"
#dt_ctime
ctime_before="`_get_file_attr dt_ctime`"
_set_file_attr -c 15m $SCRATCH_MNT/dmapi_test
ctime_after="`_get_file_attr dt_ctime`"
[ "$ctime_before" == "$ctime_after" ] && echo "dt_ctime not updated"
#dt_dtime
dtime_before="`_get_file_attr dt_dtime`"
_set_file_attr -d 20m $SCRATCH_MNT/dmapi_test
dtime_after="`_get_file_attr dt_dtime`"
[ "$dtime_before" == "$dtime_after" ] && echo "dt_dtime not updated"
# -M mode
_set_file_attr -M 744 $SCRATCH_MNT/dmapi_test
_get_file_attr dt_mode
# -u uid
_set_file_attr -u 666 $SCRATCH_MNT/dmapi_test
_get_file_attr dt_uid
# -g gid
_set_file_attr -g 666 $SCRATCH_MNT/dmapi_test
_get_file_attr dt_gid
# -S size
_set_file_attr -S 1024 $SCRATCH_MNT/dmapi_test
_get_file_attr dt_size
status=0
exit