Test out xfsdump'ing of a large file with size greater
authorTim Shimmin <tes@sgi.com>
Tue, 2 Apr 2002 08:48:52 +0000 (08:48 +0000)
committerTim Shimmin <tes@sgi.com>
Tue, 2 Apr 2002 08:48:52 +0000 (08:48 +0000)
than 32 bits - to test out the libhandle O_LARGEFILE support.

066 [new file with mode: 0755]
066.out [new file with mode: 0644]
common.dump
group

diff --git a/066 b/066
new file mode 100755 (executable)
index 0000000..fd349fb
--- /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 (file)
index 0000000..d97dee8
--- /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
index 7191d1d6e33409d8f7694d28b16b33509fb9f55c..afc050789ad680e3404a58b9098773561ed97820 100644 (file)
@@ -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 b064188d9d133aceb4699b6011655db89480dcc6..40c3e3c90ca2e6d271cd77168b6b0621588afc2e 100644 (file)
--- 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