File: [Development] / xfs-cmds / xfstests / 064 (download)
Revision 1.3, Tue Mar 19 04:59:21 2002 UTC (15 years, 7 months ago) by tes
Branch: MAIN
Changes since 1.2: +10 -0
lines
Add more info to 064.full which checks to see that the
set of files for incremental dumping have been modified
like they are supposed to.
Added to help in tracking down some sporadic 064 failures.
|
#! /bin/sh
# XFS QA Test No. 064
# $Id: 1.1 $
#
# test multilevel dump and restores with hardlinks
#
#-----------------------------------------------------------------------
# Copyright (c) 2000 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.dump
_ls_size_filter()
{
#
# Print size ($5) and fname ($9).
# The size is significant since we add to the file as part
# of a file change for the incremental.
#
# Filter out the housekeeping files of xfsrestore
#
$AWK_PROG 'NF == 9 { print $5, $9 }' |\
egrep -v 'dumpdir|housekeeping|dirattr|dirextattr|namreg|state|tree'
}
# real QA test starts here
_create_dumpdir_hardlinks 9
echo "Do the incremental dumps"
i=0
while [ $i -le 9 ]; do
if [ $i -gt 0 ]; then
_modify_level $i
sleep 2
_stable_fs
fi
echo "********* level $i ***********" >>$seq.full
date >>$seq.full
find $SCRATCH_MNT -exec stat {} \; >$tmp.dates.$i
if [ $i -gt 0 ]; then
level_1=`expr $i - 1`
diff -c $tmp.dates.$level_1 $tmp.dates.$i >>$seq.full
else
cat $tmp.dates.$i >>$seq.full
fi
dump_file=$tmp.df.level$i
_do_dump_file -l $i
i=`expr $i + 1`
done
echo "Listing of what files we start with:"
ls -l $dump_dir | _ls_size_filter
echo "Look at what files are contained in the inc. dump"
i=0
while [ $i -le 9 ]; do
echo ""
echo "restoring from df.level$i"
dump_file=$tmp.df.level$i
_do_restore_toc
i=`expr $i + 1`
done
echo "Do the cumulative restores"
i=0
while [ $i -le 9 ]; do
dump_file=$tmp.df.level$i
echo ""
echo "restoring from df.level$i"
_do_restore_file_cum -l $i
echo "ls -l restore_dir"
ls -lR $restore_dir | _ls_size_filter | _check_quota_file
i=`expr $i + 1`
done
# success, all done
status=0
exit