xfstests: allow dump file name to be passed as arg

xfsdump tests using tapes (rather than files) can pass the tape pathname
to the dump/restore helper functions using the -f option. Change
_parse_args() so that this can be done for file-based tests as well, so
that they don't have to set the global 'dump_file' variable before doing
the dump or restore.

Signed-off-by: Bill Kendall <wkendall@sgi.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Bill Kendall
2011-11-01 14:53:06 -05:00
committed by Christoph Hellwig
parent 7768bf69fe
commit e74bcb4240
5 changed files with 15 additions and 23 deletions
+2 -3
View File
@@ -44,11 +44,10 @@ _supported_os IRIX Linux
# _create_dumpdir_fill_perm (small dump)
_create_dumpdir_fill_perm
dump_file=src/dumpfile # override dump_file to checked-in dumpfile
session_label="stress_056"
# override dump_file to checked-in dumpfile
# we have no quotas to restore
# if we happen to run this on crackle then put the hostname back
_do_restore_file --no-check-quota |
_do_restore_file --no-check-quota -f src/dumpfile -L stress_056 |
sed -e 's/HOSTNAME/crackle/g' -e 's#SCRATCH_DEV#/dev/dsk/dks0d2s1#'
_diff_compare_sub
_ls_nodate_compare_sub
+3 -6
View File
@@ -78,8 +78,7 @@ while [ $i -le 9 ]; do
cat $tmp.dates.$i >>$seq.full
fi
dump_file=$tmp.df.level$i
_do_dump_file -l $i
_do_dump_file -f $tmp.df.level$i -l $i
let i=$i+1
done
@@ -91,8 +90,7 @@ i=0
while [ $i -le 9 ]; do
echo ""
echo "restoring from df.level$i"
dump_file=$tmp.df.level$i
_do_restore_toc
_do_restore_toc -f $tmp.df.level$i
let i=$i+1
done
@@ -100,10 +98,9 @@ echo "Do the cumulative restores"
_prepare_restore_dir
i=0
while [ $i -le 9 ]; do
dump_file=$tmp.df.level$i
echo ""
echo "restoring from df.level$i"
_do_restore_file_cum
_do_restore_file_cum -f $tmp.df.level$i
echo "ls -l restore_dir"
ls -lR $restore_dir | _ls_size_filter | _check_quota_file
let i=$i+1
+3 -6
View File
@@ -158,8 +158,7 @@ while [ $i -le $num_dumps ]; do
echo "Listing of what files we have at level $i:"
_list_dir $dump_dir | tee $tmp.ls.$i
dump_file=$tmp.df.level$i
_do_dump_file -l $i
_do_dump_file -f $tmp.df.level$i -l $i
let i=$i+1
done
@@ -168,8 +167,7 @@ i=0
while [ $i -le $num_dumps ]; do
echo ""
echo "restoring from df.level$i"
dump_file=$tmp.df.level$i
_do_restore_toc
_do_restore_toc -f $tmp.df.level$i
let i=$i+1
done
@@ -177,10 +175,9 @@ echo "Do the cumulative restores"
_prepare_restore_dir
i=0
while [ $i -le $num_dumps ]; do
dump_file=$tmp.df.level$i
echo ""
echo "restoring from df.level$i"
_do_restore_file_cum
_do_restore_file_cum -f $tmp.df.level$i
echo "list restore_dir"
_list_dir $restore_dir | _check_quota_file | tee $tmp.restorals.$i
let i=$i+1
+4 -8
View File
@@ -58,16 +58,12 @@ fi
_create_dumpdir_fill
# ensure file/dir timestamps precede dump timestamp
sleep 2
dump_file=$tmp.df.0
_do_dump_file
_do_dump_file -f $tmp.df.0
_add_and_append_dumpdir_fill
dump_file=$tmp.df.1
_do_dump_file -l 1 -D
_do_dump_file -f $tmp.df.1 -l 1 -D
_prepare_restore_dir
dump_file=$tmp.df.0
_do_restore_file_cum
dump_file=$tmp.df.1
_do_restore_file_cum
_do_restore_file_cum -f $tmp.df.0
_do_restore_file_cum -f $tmp.df.1
_ls_compare_sub
_diff_compare
+3
View File
@@ -889,6 +889,7 @@ _parse_args()
-f)
[ -z "$2" ] && _fail "missing argument for -f"
dumptape=$2
dump_file=$2
shift
;;
-L)
@@ -1080,6 +1081,8 @@ _do_restore_file_cum()
_do_restore_toc()
{
_parse_args $*
echo "Contents of dump ..."
opts="$_restore_debug -f $dump_file -t"
echo "xfsrestore $opts" | _dir_filter