From dbf1e1bc45b4d88c239282aedd59c10de8422ae0 Mon Sep 17 00:00:00 2001 From: Tim Shimmin Date: Tue, 2 Apr 2002 08:48:52 +0000 Subject: [PATCH] Test out xfsdump'ing of a large file with size greater than 32 bits - to test out the libhandle O_LARGEFILE support. --- 066 | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 066.out | 44 ++++++++++++++++++++++++++++++++ common.dump | 11 ++++++++ group | 1 + 4 files changed, 128 insertions(+) create mode 100755 066 create mode 100644 066.out diff --git a/066 b/066 new file mode 100755 index 00000000..fd349fbd --- /dev/null +++ b/066 @@ -0,0 +1,72 @@ +#! /bin/sh +# XFS QA Test No. 066 +# $Id: 1.1 $ +# +# Test dumping of large files +# +#----------------------------------------------------------------------- +# 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 + +_my_ls_filter() +{ + $AWK_PROG 'NF > 5 {print $5, $9}' +} + +# real QA test starts here + +_create_dumpdir_largefile +echo "ls dumpdir/largefile" +ls -l $dump_dir | _my_ls_filter +_do_dump_file +_do_restore_file +echo "ls restoredir/largefile" +ls -l $restore_dir/$dump_sdir | _my_ls_filter + +# success, all done +status=0 +exit diff --git a/066.out b/066.out new file mode 100644 index 00000000..d97dee8d --- /dev/null +++ b/066.out @@ -0,0 +1,44 @@ +QA output created by 066 +dd a largefile at offset 4294967297 +10+0 records in +10+0 records out +ls dumpdir/largefile +4294967307 largefile +Dumping to file... +xfsdump -f DUMP_FILE -M stress_tape_media -L stress_066 SCRATCH_MNT +xfsdump: using file dump (drive_simple) strategy +xfsdump: level 0 dump of HOSTNAME:SCRATCH_MNT +xfsdump: dump date: DATE +xfsdump: session id: ID +xfsdump: session label: "stress_066" +xfsdump: ino map phase 1: skipping (no subtrees specified) +xfsdump: ino map phase 2: constructing initial dump list +xfsdump: ino map phase 3: skipping (no pruning necessary) +xfsdump: ino map phase 4: skipping (size estimated in phase 2) +xfsdump: ino map phase 5: skipping (only one dump stream) +xfsdump: ino map construction complete +xfsdump: estimated dump size: NUM bytes +xfsdump: /var/xfsdump/inventory created +xfsdump: creating dump session media file 0 (media 0, file 0) +xfsdump: dumping ino map +xfsdump: dumping directories +xfsdump: dumping non-directory files +xfsdump: ending media file +xfsdump: media file size NUM bytes +xfsdump: dump size (non-dir files) : NUM bytes +xfsdump: dump complete: SECS seconds elapsed +xfsdump: Dump Status: SUCCESS +Restoring from file... +xfsrestore -f DUMP_FILE -L stress_066 RESTORE_DIR +xfsrestore: using file dump (drive_simple) strategy +xfsrestore: using online session inventory +xfsrestore: searching media for directory dump +xfsrestore: examining media file 0 +xfsrestore: reading directories +xfsrestore: 2 directories and 2 entries processed +xfsrestore: directory post-processing +xfsrestore: restoring non-directory files +xfsrestore: restore complete: SECS seconds elapsed +xfsrestore: Restore Status: SUCCESS +ls restoredir/largefile +4294967307 largefile diff --git a/common.dump b/common.dump index 7191d1d6..afc05078 100644 --- a/common.dump +++ b/common.dump @@ -530,6 +530,17 @@ _do_create_dumpdir_fill() cd $here } +_create_dumpdir_largefile() +{ + _wipe_fs + mkdir -p $dump_dir ||\ + _error "cannot mkdir \"$dump_dir\"" + _largesize=4294967297 + _largefile=$dump_dir/largefile + echo "dd a largefile at offset $_largesize" + dd if=/dev/zero of=$_largefile bs=1 seek=$_largesize count=10 2>&1 + _stable_fs +} _create_dumpdir_fill() { diff --git a/group b/group index b064188d..40c3e3c9 100644 --- a/group +++ b/group @@ -120,3 +120,4 @@ ioctl nathans@sgi.com 063 xfsdump auto 064 xfsdump auto 065 xfsdump auto +066 xfsdump ioctl auto -- 2.30.2