* [PATCH 0/2] xfs: test xfsrestore on multi-level dumpfiles with wrong root
@ 2023-01-10 22:00 Hironori Shiina
2023-01-10 22:00 ` [PATCH 1/2] xfs: add helper to create fake root inode Hironori Shiina
2023-01-10 22:00 ` [PATCH 2/2] xfs: test xfsrestore on multi-level dumpfiles with wrong root Hironori Shiina
0 siblings, 2 replies; 4+ messages in thread
From: Hironori Shiina @ 2023-01-10 22:00 UTC (permalink / raw)
To: fstests; +Cc: Hironori Shiina
To ensure 'xfsrestore -x' works well, this fix adds a test for
'xfsrestore -x' with multi-level dump files. The '-x' flag corrects a
wrong root inode which can be created by problematic xfsdump (v3.1.7 -
v3.1.9) because of bulkstat misuse.
Before adding the test, a helper function to create a fake root is
added.
Hironori Shiina (2):
xfs: add helper to create fake root inode
xfs: test xfsrestore on multi-level dumpfiles with wrong root
common/xfs | 38 ++
tests/xfs/545 | 31 +-
tests/xfs/554 | 35 +-
tests/xfs/560 | 125 ++++
tests/xfs/560.out | 1517 +++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 1690 insertions(+), 56 deletions(-)
create mode 100644 tests/xfs/560
create mode 100644 tests/xfs/560.out
--
2.39.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] xfs: add helper to create fake root inode
2023-01-10 22:00 [PATCH 0/2] xfs: test xfsrestore on multi-level dumpfiles with wrong root Hironori Shiina
@ 2023-01-10 22:00 ` Hironori Shiina
2023-01-10 22:00 ` [PATCH 2/2] xfs: test xfsrestore on multi-level dumpfiles with wrong root Hironori Shiina
1 sibling, 0 replies; 4+ messages in thread
From: Hironori Shiina @ 2023-01-10 22:00 UTC (permalink / raw)
To: fstests; +Cc: Hironori Shiina
xfsdump used to cause a problem when there is an inode whose number is
lower than the root inode number. This patch adds a helper function to
reproduce such a situation for regression tests.
Signed-off-by: Hironori Shiina <shiina.hironori@fujitsu.com>
---
common/xfs | 38 ++++++++++++++++++++++++++++++++++++++
tests/xfs/545 | 31 ++++---------------------------
tests/xfs/554 | 35 ++++++-----------------------------
3 files changed, 48 insertions(+), 56 deletions(-)
diff --git a/common/xfs b/common/xfs
index 7eee76c0..745d48d1 100644
--- a/common/xfs
+++ b/common/xfs
@@ -1547,3 +1547,41 @@ _xfs_get_inode_core_bytes()
echo 96
fi
}
+
+# Create a file with a lower inode number than the root inode number. For this
+# creation, this function runs mkfs and mount on the scratch device with
+# options. This function prints the root inode number and the created inode
+# number.
+_xfs_create_fake_root()
+{
+ local root_inum
+ local inum
+
+ # A large stripe unit will put the root inode out quite far
+ # due to alignment, leaving free blocks ahead of it.
+ _scratch_mkfs_xfs -d sunit=1024,swidth=1024 > $seqres.full 2>&1 || _fail "mkfs failed"
+
+ # Mounting /without/ a stripe should allow inodes to be allocated
+ # in lower free blocks, without the stripe alignment.
+ _scratch_mount -o sunit=0,swidth=0
+
+ local root_inum=$(stat -c %i $SCRATCH_MNT)
+
+ # Consume space after the root inode so that the blocks before
+ # root look "close" for the next inode chunk allocation
+ $XFS_IO_PROG -f -c "falloc 0 16m" $SCRATCH_MNT/fillfile
+
+ # And make a bunch of inodes until we (hopefully) get one lower
+ # than root, in a new inode chunk.
+ echo "root_inum: $root_inum" >> $seqres.full
+ for i in $(seq 0 4096) ; do
+ fname=$SCRATCH_MNT/$(printf "FILE_%03d" $i)
+ touch $fname
+ inum=$(stat -c "%i" $fname)
+ [[ $inum -lt $root_inum ]] && break
+ done
+
+ echo "created: $inum" >> $seqres.full
+
+ echo "$root_inum $inum"
+}
diff --git a/tests/xfs/545 b/tests/xfs/545
index ccb0dd6c..83785155 100755
--- a/tests/xfs/545
+++ b/tests/xfs/545
@@ -17,33 +17,10 @@ _supported_fs xfs
_require_xfs_io_command "falloc"
_require_scratch
-# A large stripe unit will put the root inode out quite far
-# due to alignment, leaving free blocks ahead of it.
-_scratch_mkfs_xfs -d sunit=1024,swidth=1024 > $seqres.full 2>&1
-
-# Mounting /without/ a stripe should allow inodes to be allocated
-# in lower free blocks, without the stripe alignment.
-_scratch_mount -o sunit=0,swidth=0
-
-root_inum=$(stat -c %i $SCRATCH_MNT)
-
-# Consume space after the root inode so that the blocks before
-# root look "close" for the next inode chunk allocation
-$XFS_IO_PROG -f -c "falloc 0 16m" $SCRATCH_MNT/fillfile
-
-# And make a bunch of inodes until we (hopefully) get one lower
-# than root, in a new inode chunk.
-echo "root_inum: $root_inum" >> $seqres.full
-for i in $(seq 0 4096) ; do
- fname=$SCRATCH_MNT/$(printf "FILE_%03d" $i)
- touch $fname
- inum=$(stat -c "%i" $fname)
- [[ $inum -lt $root_inum ]] && break
-done
-
-echo "created: $inum" >> $seqres.full
-
-[[ $inum -lt $root_inum ]] || _notrun "Could not set up test"
+# Create a filesystem which contains a fake root inode
+inums=($(_xfs_create_fake_root))
+root_inum=${inums[0]}
+fake_inum=${inums[1]}
# Now try a dump and restore. Cribbed from xfs/068
_create_dumpdir_stress
diff --git a/tests/xfs/554 b/tests/xfs/554
index 65084cb3..22ce7e28 100755
--- a/tests/xfs/554
+++ b/tests/xfs/554
@@ -21,33 +21,10 @@ _require_xfs_io_command "falloc"
_require_scratch
_require_xfsrestore_xflag
-# A large stripe unit will put the root inode out quite far
-# due to alignment, leaving free blocks ahead of it.
-_scratch_mkfs_xfs -d sunit=1024,swidth=1024 > $seqres.full 2>&1 || _fail "mkfs failed"
-
-# Mounting /without/ a stripe should allow inodes to be allocated
-# in lower free blocks, without the stripe alignment.
-_scratch_mount -o sunit=0,swidth=0
-
-root_inum=$(stat -c %i $SCRATCH_MNT)
-
-# Consume space after the root inode so that the blocks before
-# root look "close" for the next inode chunk allocation
-$XFS_IO_PROG -f -c "falloc 0 16m" $SCRATCH_MNT/fillfile
-
-# And make a bunch of inodes until we (hopefully) get one lower
-# than root, in a new inode chunk.
-echo "root_inum: $root_inum" >> $seqres.full
-for i in $(seq 0 4096) ; do
- fname=$SCRATCH_MNT/$(printf "FILE_%03d" $i)
- touch $fname
- inum=$(stat -c "%i" $fname)
- [[ $inum -lt $root_inum ]] && break
-done
-
-echo "created: $inum" >> $seqres.full
-
-[[ $inum -lt $root_inum ]] || _notrun "Could not set up test"
+# Create a filesystem which contains a fake root inode
+inums=($(_xfs_create_fake_root))
+root_inum=${inums[0]}
+fake_inum=${inums[1]}
# Now try a dump and restore. Cribbed from xfs/068
_create_dumpdir_stress
@@ -59,10 +36,10 @@ _do_dump_file
# Set the wrong root inode number to the dump file
# as problematic xfsdump used to do.
-$here/src/fake-dump-rootino $dump_file $inum
+$here/src/fake-dump-rootino $dump_file $fake_inum
_do_restore_file -x | \
-sed -e "s/rootino #${inum}/rootino #FAKENO/g" \
+sed -e "s/rootino #${fake_inum}/rootino #FAKENO/g" \
-e "s/# to ${root_inum}/# to ROOTNO/g" \
-e "/entries processed$/s/[0-9][0-9]*/NUM/g"
--
2.39.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] xfs: test xfsrestore on multi-level dumpfiles with wrong root
2023-01-10 22:00 [PATCH 0/2] xfs: test xfsrestore on multi-level dumpfiles with wrong root Hironori Shiina
2023-01-10 22:00 ` [PATCH 1/2] xfs: add helper to create fake root inode Hironori Shiina
@ 2023-01-10 22:00 ` Hironori Shiina
2023-01-12 8:53 ` Zorro Lang
1 sibling, 1 reply; 4+ messages in thread
From: Hironori Shiina @ 2023-01-10 22:00 UTC (permalink / raw)
To: fstests; +Cc: Hironori Shiina
Test 'xfsrestore -x' to correct a wrong root in multi-level dump files.
A root inode number can be wrong in a dump created by problematic
xfsdump (v3.1.7 - v3.1.9) because of bulkstat misuse.
Signed-off-by: Hironori Shiina <shiina.hironori@fujitsu.com>
---
tests/xfs/560 | 125 ++++
tests/xfs/560.out | 1517 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 1642 insertions(+)
create mode 100644 tests/xfs/560
create mode 100644 tests/xfs/560.out
diff --git a/tests/xfs/560 b/tests/xfs/560
new file mode 100644
index 00000000..f4be8ef1
--- /dev/null
+++ b/tests/xfs/560
@@ -0,0 +1,125 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2023 Fujitsu Limited. All Rights Reserved.
+#
+# FS QA Test No. 560
+#
+# Create a filesystem which contains an inode with a lower number
+# than the root inode. Set the lower number to dump files as the root inode
+# and ensure that 'xfsrestore -x' handles this wrong inode for multi-level
+# dumps. This procedure is cribbed from xfs/064
+
+. ./common/preamble
+_begin_fstest auto dump
+
+# Import common functions.
+. ./common/dump
+
+_supported_fs xfs
+_fixed_by_git_commit xfsdump \
+ "XXXXXXXXXXXX xfsrestore: fix rootdir due to xfsdump bulkstat misuse"
+_require_xfs_io_command "falloc"
+_require_scratch
+_require_xfsrestore_xflag
+
+# Create a filesystem which contains a fake root inode
+inums=($(_xfs_create_fake_root))
+root_inum=${inums[0]}
+fake_inum=${inums[1]}
+
+# Remove unnecessary files
+find $SCRATCH_MNT -not -inum $fake_inum -type f -delete
+# Rename a file root file to the static filename
+find $SCRATCH_MNT -inum $fake_inum -exec mv {} $SCRATCH_MNT/fakeroot \;
+
+# Override the default cleanup function.
+_cleanup()
+{
+ _cleanup_dump
+ cd /
+ rm -f $tmp.*
+}
+
+_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 }' |\
+ grep -E -v 'dumpdir|housekeeping|dirattr|dirextattr|namreg|state|tree'
+}
+
+
+_create_dumpdir_hardlinks 9
+
+echo "Do the incremental dumps"
+i=0
+while [ $i -le 9 ]; do
+ if [ $i -gt 0 ]; then
+ sleep 2
+ _modify_level $i
+ fi
+
+ _stable_fs
+ sleep 2
+
+ echo "********* level $i ***********" >>$seqres.full
+ date >>$seqres.full
+ find $SCRATCH_MNT -exec $here/src/lstat64 {} \; | sed 's/(00.*)//' >$tmp.dates.$i
+ if [ $i -gt 0 ]; then
+ let level_1=$i-1
+ diff -c $tmp.dates.$level_1 $tmp.dates.$i >>$seqres.full
+ else
+ cat $tmp.dates.$i >>$seqres.full
+ fi
+
+ dump_file=$tmp.df.level$i
+ _do_dump_file -f $dump_file -l $i
+ # Set the wrong root inode number to the dump file
+ # as problematic xfsdump used to do.
+ $here/src/fake-dump-rootino $dump_file $fake_inum
+
+ let i=$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"
+ _do_restore_toc -x -f $tmp.df.level$i | \
+ sed -e "s/rootino #${fake_inum}/rootino #FAKENO/g" \
+ -e "s/# to ${root_inum}/# to ROOTNO/g"
+ let i=$i+1
+done
+
+echo "Do the cumulative restores"
+_prepare_restore_dir
+i=0
+while [ $i -le 9 ]; do
+ if [ $i -eq 0 ]; then
+ # The root inode is fixed at the first restore
+ opt='-x'
+ else
+ opt=
+ fi
+ echo ""
+ echo "restoring from df.level$i"
+ _do_restore_file_cum $opt -f $tmp.df.level$i | \
+ sed -e "s/rootino #${fake_inum}/rootino #FAKENO/g" \
+ -e "s/# to ${root_inum}/# to ROOTNO/g"
+ echo "ls -l restore_dir"
+ ls -lR $restore_dir | _ls_size_filter | _check_quota_file
+ let i=$i+1
+done
+
+# success, all done
+status=0
+exit
diff --git a/tests/xfs/560.out b/tests/xfs/560.out
new file mode 100644
index 00000000..0f2236a6
--- /dev/null
+++ b/tests/xfs/560.out
@@ -0,0 +1,1517 @@
+QA output created by 560
+Creating directory system of hardlinks to incrementally dump.
+creating hardlink file1_h1 to file1
+creating hardlink file1_h2 to file1
+creating hardlink file1_h3 to file1
+creating hardlink file1_h4 to file1
+creating hardlink file1_h5 to file1
+creating hardlink file2_h1 to file2
+creating hardlink file2_h2 to file2
+creating hardlink file2_h3 to file2
+creating hardlink file2_h4 to file2
+creating hardlink file2_h5 to file2
+creating hardlink file3_h1 to file3
+creating hardlink file3_h2 to file3
+creating hardlink file3_h3 to file3
+creating hardlink file3_h4 to file3
+creating hardlink file3_h5 to file3
+creating hardlink file4_h1 to file4
+creating hardlink file4_h2 to file4
+creating hardlink file4_h3 to file4
+creating hardlink file4_h4 to file4
+creating hardlink file4_h5 to file4
+creating hardlink file5_h1 to file5
+creating hardlink file5_h2 to file5
+creating hardlink file5_h3 to file5
+creating hardlink file5_h4 to file5
+creating hardlink file5_h5 to file5
+creating hardlink file6_h1 to file6
+creating hardlink file6_h2 to file6
+creating hardlink file6_h3 to file6
+creating hardlink file6_h4 to file6
+creating hardlink file6_h5 to file6
+creating hardlink file7_h1 to file7
+creating hardlink file7_h2 to file7
+creating hardlink file7_h3 to file7
+creating hardlink file7_h4 to file7
+creating hardlink file7_h5 to file7
+creating hardlink file8_h1 to file8
+creating hardlink file8_h2 to file8
+creating hardlink file8_h3 to file8
+creating hardlink file8_h4 to file8
+creating hardlink file8_h5 to file8
+creating hardlink file9_h1 to file9
+creating hardlink file9_h2 to file9
+creating hardlink file9_h3 to file9
+creating hardlink file9_h4 to file9
+creating hardlink file9_h5 to file9
+Do the incremental dumps
+Dumping to file...
+xfsdump -l0 -f DUMP_FILE -M stress_tape_media -L stress_560 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_560"
+xfsdump: ino map <PHASES>
+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
+Dumping to file...
+xfsdump -l1 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
+xfsdump: using file dump (drive_simple) strategy
+xfsdump: level 1 incremental dump of HOSTNAME:SCRATCH_MNT based on level 0 dump begun DATE
+xfsdump: dump date: DATE
+xfsdump: session id: ID
+xfsdump: session label: "stress_560"
+xfsdump: ino map <PHASES>
+xfsdump: ino map construction complete
+xfsdump: estimated dump size: NUM bytes
+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
+Dumping to file...
+xfsdump -l2 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
+xfsdump: using file dump (drive_simple) strategy
+xfsdump: level 2 incremental dump of HOSTNAME:SCRATCH_MNT based on level 1 dump begun DATE
+xfsdump: dump date: DATE
+xfsdump: session id: ID
+xfsdump: session label: "stress_560"
+xfsdump: ino map <PHASES>
+xfsdump: ino map construction complete
+xfsdump: estimated dump size: NUM bytes
+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
+Dumping to file...
+xfsdump -l3 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
+xfsdump: using file dump (drive_simple) strategy
+xfsdump: level 3 incremental dump of HOSTNAME:SCRATCH_MNT based on level 2 dump begun DATE
+xfsdump: dump date: DATE
+xfsdump: session id: ID
+xfsdump: session label: "stress_560"
+xfsdump: ino map <PHASES>
+xfsdump: ino map construction complete
+xfsdump: estimated dump size: NUM bytes
+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
+Dumping to file...
+xfsdump -l4 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
+xfsdump: using file dump (drive_simple) strategy
+xfsdump: level 4 incremental dump of HOSTNAME:SCRATCH_MNT based on level 3 dump begun DATE
+xfsdump: dump date: DATE
+xfsdump: session id: ID
+xfsdump: session label: "stress_560"
+xfsdump: ino map <PHASES>
+xfsdump: ino map construction complete
+xfsdump: estimated dump size: NUM bytes
+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
+Dumping to file...
+xfsdump -l5 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
+xfsdump: using file dump (drive_simple) strategy
+xfsdump: level 5 incremental dump of HOSTNAME:SCRATCH_MNT based on level 4 dump begun DATE
+xfsdump: dump date: DATE
+xfsdump: session id: ID
+xfsdump: session label: "stress_560"
+xfsdump: ino map <PHASES>
+xfsdump: ino map construction complete
+xfsdump: estimated dump size: NUM bytes
+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
+Dumping to file...
+xfsdump -l6 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
+xfsdump: using file dump (drive_simple) strategy
+xfsdump: level 6 incremental dump of HOSTNAME:SCRATCH_MNT based on level 5 dump begun DATE
+xfsdump: dump date: DATE
+xfsdump: session id: ID
+xfsdump: session label: "stress_560"
+xfsdump: ino map <PHASES>
+xfsdump: ino map construction complete
+xfsdump: estimated dump size: NUM bytes
+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
+Dumping to file...
+xfsdump -l7 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
+xfsdump: using file dump (drive_simple) strategy
+xfsdump: level 7 incremental dump of HOSTNAME:SCRATCH_MNT based on level 6 dump begun DATE
+xfsdump: dump date: DATE
+xfsdump: session id: ID
+xfsdump: session label: "stress_560"
+xfsdump: ino map <PHASES>
+xfsdump: ino map construction complete
+xfsdump: estimated dump size: NUM bytes
+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
+Dumping to file...
+xfsdump -l8 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
+xfsdump: using file dump (drive_simple) strategy
+xfsdump: level 8 incremental dump of HOSTNAME:SCRATCH_MNT based on level 7 dump begun DATE
+xfsdump: dump date: DATE
+xfsdump: session id: ID
+xfsdump: session label: "stress_560"
+xfsdump: ino map <PHASES>
+xfsdump: ino map construction complete
+xfsdump: estimated dump size: NUM bytes
+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
+Dumping to file...
+xfsdump -l9 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
+xfsdump: using file dump (drive_simple) strategy
+xfsdump: level 9 incremental dump of HOSTNAME:SCRATCH_MNT based on level 8 dump begun DATE
+xfsdump: dump date: DATE
+xfsdump: session id: ID
+xfsdump: session label: "stress_560"
+xfsdump: ino map <PHASES>
+xfsdump: ino map construction complete
+xfsdump: estimated dump size: NUM bytes
+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
+Listing of what files we start with:
+12 file1
+12 file1_h1
+12 file1_h2
+12 file1_h3
+12 file1_h4
+12 file1_h5
+12 file2
+12 file2_h1
+12 file2_h2
+12 file2_h3
+12 file2_h4
+12 file2_h5
+12 file3
+12 file3_h1
+12 file3_h2
+12 file3_h3
+12 file3_h4
+12 file3_h5
+12 file4
+12 file4_h1
+12 file4_h2
+12 file4_h3
+12 file4_h4
+12 file4_h5
+12 file5
+12 file5_h1
+12 file5_h2
+12 file5_h3
+12 file5_h4
+12 file5_h5
+12 file6
+12 file6_h1
+12 file6_h2
+12 file6_h3
+12 file6_h4
+12 file6_h5
+12 file7
+12 file7_h1
+12 file7_h2
+12 file7_h3
+12 file7_h4
+12 file7_h5
+12 file8
+12 file8_h1
+12 file8_h2
+12 file8_h3
+12 file8_h4
+12 file8_h5
+12 file9
+12 file9_h1
+12 file9_h2
+12 file9_h3
+12 file9_h4
+12 file9_h5
+Look at what files are contained in the inc. dump
+
+restoring from df.level0
+Contents of dump ...
+xfsrestore -x -f DUMP_FILE -t
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 0
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: found fake rootino #FAKENO, will fix.
+xfsrestore: fix root # to ROOTNO (bind mount?)
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: reading non-directory files
+xfsrestore: table of contents display complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+
+dumpdir/file1
+dumpdir/file1_h1
+dumpdir/file1_h2
+dumpdir/file1_h3
+dumpdir/file1_h4
+dumpdir/file1_h5
+dumpdir/file2
+dumpdir/file2_h1
+dumpdir/file2_h2
+dumpdir/file2_h3
+dumpdir/file2_h4
+dumpdir/file2_h5
+dumpdir/file3
+dumpdir/file3_h1
+dumpdir/file3_h2
+dumpdir/file3_h3
+dumpdir/file3_h4
+dumpdir/file3_h5
+dumpdir/file4
+dumpdir/file4_h1
+dumpdir/file4_h2
+dumpdir/file4_h3
+dumpdir/file4_h4
+dumpdir/file4_h5
+dumpdir/file5
+dumpdir/file5_h1
+dumpdir/file5_h2
+dumpdir/file5_h3
+dumpdir/file5_h4
+dumpdir/file5_h5
+dumpdir/file6
+dumpdir/file6_h1
+dumpdir/file6_h2
+dumpdir/file6_h3
+dumpdir/file6_h4
+dumpdir/file6_h5
+dumpdir/file7
+dumpdir/file7_h1
+dumpdir/file7_h2
+dumpdir/file7_h3
+dumpdir/file7_h4
+dumpdir/file7_h5
+dumpdir/file8
+dumpdir/file8_h1
+dumpdir/file8_h2
+dumpdir/file8_h3
+dumpdir/file8_h4
+dumpdir/file8_h5
+dumpdir/file9
+dumpdir/file9_h1
+dumpdir/file9_h2
+dumpdir/file9_h3
+dumpdir/file9_h4
+dumpdir/file9_h5
+fakeroot
+
+restoring from df.level1
+Contents of dump ...
+xfsrestore -x -f DUMP_FILE -t
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 1
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: found fake rootino #FAKENO, will fix.
+xfsrestore: fix root # to ROOTNO (bind mount?)
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: reading non-directory files
+xfsrestore: table of contents display complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+
+dumpdir/file1
+dumpdir/file1_h1
+dumpdir/file1_h2
+dumpdir/file1_h3
+dumpdir/file1_h4
+dumpdir/file1_h5
+
+restoring from df.level2
+Contents of dump ...
+xfsrestore -x -f DUMP_FILE -t
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 2
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: found fake rootino #FAKENO, will fix.
+xfsrestore: fix root # to ROOTNO (bind mount?)
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: reading non-directory files
+xfsrestore: table of contents display complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+
+dumpdir/file2
+dumpdir/file2_h1
+dumpdir/file2_h2
+dumpdir/file2_h3
+dumpdir/file2_h4
+dumpdir/file2_h5
+
+restoring from df.level3
+Contents of dump ...
+xfsrestore -x -f DUMP_FILE -t
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 3
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: found fake rootino #FAKENO, will fix.
+xfsrestore: fix root # to ROOTNO (bind mount?)
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: reading non-directory files
+xfsrestore: table of contents display complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+
+dumpdir/file3
+dumpdir/file3_h1
+dumpdir/file3_h2
+dumpdir/file3_h3
+dumpdir/file3_h4
+dumpdir/file3_h5
+
+restoring from df.level4
+Contents of dump ...
+xfsrestore -x -f DUMP_FILE -t
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 4
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: found fake rootino #FAKENO, will fix.
+xfsrestore: fix root # to ROOTNO (bind mount?)
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: reading non-directory files
+xfsrestore: table of contents display complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+
+dumpdir/file4
+dumpdir/file4_h1
+dumpdir/file4_h2
+dumpdir/file4_h3
+dumpdir/file4_h4
+dumpdir/file4_h5
+
+restoring from df.level5
+Contents of dump ...
+xfsrestore -x -f DUMP_FILE -t
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 5
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: found fake rootino #FAKENO, will fix.
+xfsrestore: fix root # to ROOTNO (bind mount?)
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: reading non-directory files
+xfsrestore: table of contents display complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+
+dumpdir/file5
+dumpdir/file5_h1
+dumpdir/file5_h2
+dumpdir/file5_h3
+dumpdir/file5_h4
+dumpdir/file5_h5
+
+restoring from df.level6
+Contents of dump ...
+xfsrestore -x -f DUMP_FILE -t
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 6
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: found fake rootino #FAKENO, will fix.
+xfsrestore: fix root # to ROOTNO (bind mount?)
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: reading non-directory files
+xfsrestore: table of contents display complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+
+dumpdir/file6
+dumpdir/file6_h1
+dumpdir/file6_h2
+dumpdir/file6_h3
+dumpdir/file6_h4
+dumpdir/file6_h5
+
+restoring from df.level7
+Contents of dump ...
+xfsrestore -x -f DUMP_FILE -t
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 7
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: found fake rootino #FAKENO, will fix.
+xfsrestore: fix root # to ROOTNO (bind mount?)
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: reading non-directory files
+xfsrestore: table of contents display complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+
+dumpdir/file7
+dumpdir/file7_h1
+dumpdir/file7_h2
+dumpdir/file7_h3
+dumpdir/file7_h4
+dumpdir/file7_h5
+
+restoring from df.level8
+Contents of dump ...
+xfsrestore -x -f DUMP_FILE -t
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 8
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: found fake rootino #FAKENO, will fix.
+xfsrestore: fix root # to ROOTNO (bind mount?)
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: reading non-directory files
+xfsrestore: table of contents display complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+
+dumpdir/file8
+dumpdir/file8_h1
+dumpdir/file8_h2
+dumpdir/file8_h3
+dumpdir/file8_h4
+dumpdir/file8_h5
+
+restoring from df.level9
+Contents of dump ...
+xfsrestore -x -f DUMP_FILE -t
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 9
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: found fake rootino #FAKENO, will fix.
+xfsrestore: fix root # to ROOTNO (bind mount?)
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: reading non-directory files
+xfsrestore: table of contents display complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+
+dumpdir/file9
+dumpdir/file9_h1
+dumpdir/file9_h2
+dumpdir/file9_h3
+dumpdir/file9_h4
+dumpdir/file9_h5
+Do the cumulative restores
+
+restoring from df.level0
+Restoring cumumlative from file...
+xfsrestore -x -f DUMP_FILE -r RESTORE_DIR
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 0
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: found fake rootino #FAKENO, will fix.
+xfsrestore: fix root # to ROOTNO (bind mount?)
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: restoring non-directory files
+xfsrestore: restore complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+ls -l restore_dir
+0 fakeroot
+0 file1
+0 file1_h1
+0 file1_h2
+0 file1_h3
+0 file1_h4
+0 file1_h5
+0 file2
+0 file2_h1
+0 file2_h2
+0 file2_h3
+0 file2_h4
+0 file2_h5
+0 file3
+0 file3_h1
+0 file3_h2
+0 file3_h3
+0 file3_h4
+0 file3_h5
+0 file4
+0 file4_h1
+0 file4_h2
+0 file4_h3
+0 file4_h4
+0 file4_h5
+0 file5
+0 file5_h1
+0 file5_h2
+0 file5_h3
+0 file5_h4
+0 file5_h5
+0 file6
+0 file6_h1
+0 file6_h2
+0 file6_h3
+0 file6_h4
+0 file6_h5
+0 file7
+0 file7_h1
+0 file7_h2
+0 file7_h3
+0 file7_h4
+0 file7_h5
+0 file8
+0 file8_h1
+0 file8_h2
+0 file8_h3
+0 file8_h4
+0 file8_h5
+0 file9
+0 file9_h1
+0 file9_h2
+0 file9_h3
+0 file9_h4
+0 file9_h5
+
+restoring from df.level1
+Restoring cumumlative from file...
+xfsrestore -f DUMP_FILE -r RESTORE_DIR
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 1
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: restoring non-directory files
+xfsrestore: restore complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+ls -l restore_dir
+0 fakeroot
+12 file1
+12 file1_h1
+12 file1_h2
+12 file1_h3
+12 file1_h4
+12 file1_h5
+0 file2
+0 file2_h1
+0 file2_h2
+0 file2_h3
+0 file2_h4
+0 file2_h5
+0 file3
+0 file3_h1
+0 file3_h2
+0 file3_h3
+0 file3_h4
+0 file3_h5
+0 file4
+0 file4_h1
+0 file4_h2
+0 file4_h3
+0 file4_h4
+0 file4_h5
+0 file5
+0 file5_h1
+0 file5_h2
+0 file5_h3
+0 file5_h4
+0 file5_h5
+0 file6
+0 file6_h1
+0 file6_h2
+0 file6_h3
+0 file6_h4
+0 file6_h5
+0 file7
+0 file7_h1
+0 file7_h2
+0 file7_h3
+0 file7_h4
+0 file7_h5
+0 file8
+0 file8_h1
+0 file8_h2
+0 file8_h3
+0 file8_h4
+0 file8_h5
+0 file9
+0 file9_h1
+0 file9_h2
+0 file9_h3
+0 file9_h4
+0 file9_h5
+
+restoring from df.level2
+Restoring cumumlative from file...
+xfsrestore -f DUMP_FILE -r RESTORE_DIR
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 2
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: restoring non-directory files
+xfsrestore: restore complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+ls -l restore_dir
+0 fakeroot
+12 file1
+12 file1_h1
+12 file1_h2
+12 file1_h3
+12 file1_h4
+12 file1_h5
+12 file2
+12 file2_h1
+12 file2_h2
+12 file2_h3
+12 file2_h4
+12 file2_h5
+0 file3
+0 file3_h1
+0 file3_h2
+0 file3_h3
+0 file3_h4
+0 file3_h5
+0 file4
+0 file4_h1
+0 file4_h2
+0 file4_h3
+0 file4_h4
+0 file4_h5
+0 file5
+0 file5_h1
+0 file5_h2
+0 file5_h3
+0 file5_h4
+0 file5_h5
+0 file6
+0 file6_h1
+0 file6_h2
+0 file6_h3
+0 file6_h4
+0 file6_h5
+0 file7
+0 file7_h1
+0 file7_h2
+0 file7_h3
+0 file7_h4
+0 file7_h5
+0 file8
+0 file8_h1
+0 file8_h2
+0 file8_h3
+0 file8_h4
+0 file8_h5
+0 file9
+0 file9_h1
+0 file9_h2
+0 file9_h3
+0 file9_h4
+0 file9_h5
+
+restoring from df.level3
+Restoring cumumlative from file...
+xfsrestore -f DUMP_FILE -r RESTORE_DIR
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 3
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: restoring non-directory files
+xfsrestore: restore complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+ls -l restore_dir
+0 fakeroot
+12 file1
+12 file1_h1
+12 file1_h2
+12 file1_h3
+12 file1_h4
+12 file1_h5
+12 file2
+12 file2_h1
+12 file2_h2
+12 file2_h3
+12 file2_h4
+12 file2_h5
+12 file3
+12 file3_h1
+12 file3_h2
+12 file3_h3
+12 file3_h4
+12 file3_h5
+0 file4
+0 file4_h1
+0 file4_h2
+0 file4_h3
+0 file4_h4
+0 file4_h5
+0 file5
+0 file5_h1
+0 file5_h2
+0 file5_h3
+0 file5_h4
+0 file5_h5
+0 file6
+0 file6_h1
+0 file6_h2
+0 file6_h3
+0 file6_h4
+0 file6_h5
+0 file7
+0 file7_h1
+0 file7_h2
+0 file7_h3
+0 file7_h4
+0 file7_h5
+0 file8
+0 file8_h1
+0 file8_h2
+0 file8_h3
+0 file8_h4
+0 file8_h5
+0 file9
+0 file9_h1
+0 file9_h2
+0 file9_h3
+0 file9_h4
+0 file9_h5
+
+restoring from df.level4
+Restoring cumumlative from file...
+xfsrestore -f DUMP_FILE -r RESTORE_DIR
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 4
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: restoring non-directory files
+xfsrestore: restore complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+ls -l restore_dir
+0 fakeroot
+12 file1
+12 file1_h1
+12 file1_h2
+12 file1_h3
+12 file1_h4
+12 file1_h5
+12 file2
+12 file2_h1
+12 file2_h2
+12 file2_h3
+12 file2_h4
+12 file2_h5
+12 file3
+12 file3_h1
+12 file3_h2
+12 file3_h3
+12 file3_h4
+12 file3_h5
+12 file4
+12 file4_h1
+12 file4_h2
+12 file4_h3
+12 file4_h4
+12 file4_h5
+0 file5
+0 file5_h1
+0 file5_h2
+0 file5_h3
+0 file5_h4
+0 file5_h5
+0 file6
+0 file6_h1
+0 file6_h2
+0 file6_h3
+0 file6_h4
+0 file6_h5
+0 file7
+0 file7_h1
+0 file7_h2
+0 file7_h3
+0 file7_h4
+0 file7_h5
+0 file8
+0 file8_h1
+0 file8_h2
+0 file8_h3
+0 file8_h4
+0 file8_h5
+0 file9
+0 file9_h1
+0 file9_h2
+0 file9_h3
+0 file9_h4
+0 file9_h5
+
+restoring from df.level5
+Restoring cumumlative from file...
+xfsrestore -f DUMP_FILE -r RESTORE_DIR
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 5
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: restoring non-directory files
+xfsrestore: restore complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+ls -l restore_dir
+0 fakeroot
+12 file1
+12 file1_h1
+12 file1_h2
+12 file1_h3
+12 file1_h4
+12 file1_h5
+12 file2
+12 file2_h1
+12 file2_h2
+12 file2_h3
+12 file2_h4
+12 file2_h5
+12 file3
+12 file3_h1
+12 file3_h2
+12 file3_h3
+12 file3_h4
+12 file3_h5
+12 file4
+12 file4_h1
+12 file4_h2
+12 file4_h3
+12 file4_h4
+12 file4_h5
+12 file5
+12 file5_h1
+12 file5_h2
+12 file5_h3
+12 file5_h4
+12 file5_h5
+0 file6
+0 file6_h1
+0 file6_h2
+0 file6_h3
+0 file6_h4
+0 file6_h5
+0 file7
+0 file7_h1
+0 file7_h2
+0 file7_h3
+0 file7_h4
+0 file7_h5
+0 file8
+0 file8_h1
+0 file8_h2
+0 file8_h3
+0 file8_h4
+0 file8_h5
+0 file9
+0 file9_h1
+0 file9_h2
+0 file9_h3
+0 file9_h4
+0 file9_h5
+
+restoring from df.level6
+Restoring cumumlative from file...
+xfsrestore -f DUMP_FILE -r RESTORE_DIR
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 6
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: restoring non-directory files
+xfsrestore: restore complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+ls -l restore_dir
+0 fakeroot
+12 file1
+12 file1_h1
+12 file1_h2
+12 file1_h3
+12 file1_h4
+12 file1_h5
+12 file2
+12 file2_h1
+12 file2_h2
+12 file2_h3
+12 file2_h4
+12 file2_h5
+12 file3
+12 file3_h1
+12 file3_h2
+12 file3_h3
+12 file3_h4
+12 file3_h5
+12 file4
+12 file4_h1
+12 file4_h2
+12 file4_h3
+12 file4_h4
+12 file4_h5
+12 file5
+12 file5_h1
+12 file5_h2
+12 file5_h3
+12 file5_h4
+12 file5_h5
+12 file6
+12 file6_h1
+12 file6_h2
+12 file6_h3
+12 file6_h4
+12 file6_h5
+0 file7
+0 file7_h1
+0 file7_h2
+0 file7_h3
+0 file7_h4
+0 file7_h5
+0 file8
+0 file8_h1
+0 file8_h2
+0 file8_h3
+0 file8_h4
+0 file8_h5
+0 file9
+0 file9_h1
+0 file9_h2
+0 file9_h3
+0 file9_h4
+0 file9_h5
+
+restoring from df.level7
+Restoring cumumlative from file...
+xfsrestore -f DUMP_FILE -r RESTORE_DIR
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 7
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: restoring non-directory files
+xfsrestore: restore complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+ls -l restore_dir
+0 fakeroot
+12 file1
+12 file1_h1
+12 file1_h2
+12 file1_h3
+12 file1_h4
+12 file1_h5
+12 file2
+12 file2_h1
+12 file2_h2
+12 file2_h3
+12 file2_h4
+12 file2_h5
+12 file3
+12 file3_h1
+12 file3_h2
+12 file3_h3
+12 file3_h4
+12 file3_h5
+12 file4
+12 file4_h1
+12 file4_h2
+12 file4_h3
+12 file4_h4
+12 file4_h5
+12 file5
+12 file5_h1
+12 file5_h2
+12 file5_h3
+12 file5_h4
+12 file5_h5
+12 file6
+12 file6_h1
+12 file6_h2
+12 file6_h3
+12 file6_h4
+12 file6_h5
+12 file7
+12 file7_h1
+12 file7_h2
+12 file7_h3
+12 file7_h4
+12 file7_h5
+0 file8
+0 file8_h1
+0 file8_h2
+0 file8_h3
+0 file8_h4
+0 file8_h5
+0 file9
+0 file9_h1
+0 file9_h2
+0 file9_h3
+0 file9_h4
+0 file9_h5
+
+restoring from df.level8
+Restoring cumumlative from file...
+xfsrestore -f DUMP_FILE -r RESTORE_DIR
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 8
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: restoring non-directory files
+xfsrestore: restore complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+ls -l restore_dir
+0 fakeroot
+12 file1
+12 file1_h1
+12 file1_h2
+12 file1_h3
+12 file1_h4
+12 file1_h5
+12 file2
+12 file2_h1
+12 file2_h2
+12 file2_h3
+12 file2_h4
+12 file2_h5
+12 file3
+12 file3_h1
+12 file3_h2
+12 file3_h3
+12 file3_h4
+12 file3_h5
+12 file4
+12 file4_h1
+12 file4_h2
+12 file4_h3
+12 file4_h4
+12 file4_h5
+12 file5
+12 file5_h1
+12 file5_h2
+12 file5_h3
+12 file5_h4
+12 file5_h5
+12 file6
+12 file6_h1
+12 file6_h2
+12 file6_h3
+12 file6_h4
+12 file6_h5
+12 file7
+12 file7_h1
+12 file7_h2
+12 file7_h3
+12 file7_h4
+12 file7_h5
+12 file8
+12 file8_h1
+12 file8_h2
+12 file8_h3
+12 file8_h4
+12 file8_h5
+0 file9
+0 file9_h1
+0 file9_h2
+0 file9_h3
+0 file9_h4
+0 file9_h5
+
+restoring from df.level9
+Restoring cumumlative from file...
+xfsrestore -f DUMP_FILE -r RESTORE_DIR
+xfsrestore: using file dump (drive_simple) strategy
+xfsrestore: searching media for dump
+xfsrestore: examining media file 0
+xfsrestore: dump description:
+xfsrestore: hostname: HOSTNAME
+xfsrestore: mount point: SCRATCH_MNT
+xfsrestore: volume: SCRATCH_DEV
+xfsrestore: session time: TIME
+xfsrestore: level: 9
+xfsrestore: session label: "stress_560"
+xfsrestore: media label: "stress_tape_media"
+xfsrestore: file system ID: ID
+xfsrestore: session id: ID
+xfsrestore: media ID: ID
+xfsrestore: using online session inventory
+xfsrestore: searching media for directory dump
+xfsrestore: reading directories
+xfsrestore: 2 directories and 56 entries processed
+xfsrestore: directory post-processing
+xfsrestore: restoring non-directory files
+xfsrestore: restore complete: SECS seconds elapsed
+xfsrestore: Restore Status: SUCCESS
+ls -l restore_dir
+0 fakeroot
+12 file1
+12 file1_h1
+12 file1_h2
+12 file1_h3
+12 file1_h4
+12 file1_h5
+12 file2
+12 file2_h1
+12 file2_h2
+12 file2_h3
+12 file2_h4
+12 file2_h5
+12 file3
+12 file3_h1
+12 file3_h2
+12 file3_h3
+12 file3_h4
+12 file3_h5
+12 file4
+12 file4_h1
+12 file4_h2
+12 file4_h3
+12 file4_h4
+12 file4_h5
+12 file5
+12 file5_h1
+12 file5_h2
+12 file5_h3
+12 file5_h4
+12 file5_h5
+12 file6
+12 file6_h1
+12 file6_h2
+12 file6_h3
+12 file6_h4
+12 file6_h5
+12 file7
+12 file7_h1
+12 file7_h2
+12 file7_h3
+12 file7_h4
+12 file7_h5
+12 file8
+12 file8_h1
+12 file8_h2
+12 file8_h3
+12 file8_h4
+12 file8_h5
+12 file9
+12 file9_h1
+12 file9_h2
+12 file9_h3
+12 file9_h4
+12 file9_h5
--
2.39.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] xfs: test xfsrestore on multi-level dumpfiles with wrong root
2023-01-10 22:00 ` [PATCH 2/2] xfs: test xfsrestore on multi-level dumpfiles with wrong root Hironori Shiina
@ 2023-01-12 8:53 ` Zorro Lang
0 siblings, 0 replies; 4+ messages in thread
From: Zorro Lang @ 2023-01-12 8:53 UTC (permalink / raw)
To: Hironori Shiina; +Cc: fstests, Hironori Shiina
On Tue, Jan 10, 2023 at 05:00:58PM -0500, Hironori Shiina wrote:
> Test 'xfsrestore -x' to correct a wrong root in multi-level dump files.
> A root inode number can be wrong in a dump created by problematic
> xfsdump (v3.1.7 - v3.1.9) because of bulkstat misuse.
>
> Signed-off-by: Hironori Shiina <shiina.hironori@fujitsu.com>
> ---
> tests/xfs/560 | 125 ++++
> tests/xfs/560.out | 1517 +++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 1642 insertions(+)
> create mode 100644 tests/xfs/560
> create mode 100644 tests/xfs/560.out
>
> diff --git a/tests/xfs/560 b/tests/xfs/560
> new file mode 100644
> index 00000000..f4be8ef1
> --- /dev/null
> +++ b/tests/xfs/560
> @@ -0,0 +1,125 @@
> +#! /bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (c) 2023 Fujitsu Limited. All Rights Reserved.
> +#
> +# FS QA Test No. 560
> +#
> +# Create a filesystem which contains an inode with a lower number
> +# than the root inode. Set the lower number to dump files as the root inode
> +# and ensure that 'xfsrestore -x' handles this wrong inode for multi-level
> +# dumps. This procedure is cribbed from xfs/064
Better to explain what's the difference of this case with xfs/554. Due to you
nearly use the same comments, same git commit log and same _fixed_by_git_commit
with xfs/554. So what this test focus on? Any new issue can it uncover?
Thanks,
Zorro
> +
> +. ./common/preamble
> +_begin_fstest auto dump
> +
> +# Import common functions.
> +. ./common/dump
> +
> +_supported_fs xfs
> +_fixed_by_git_commit xfsdump \
> + "XXXXXXXXXXXX xfsrestore: fix rootdir due to xfsdump bulkstat misuse"
> +_require_xfs_io_command "falloc"
> +_require_scratch
> +_require_xfsrestore_xflag
> +
> +# Create a filesystem which contains a fake root inode
> +inums=($(_xfs_create_fake_root))
> +root_inum=${inums[0]}
> +fake_inum=${inums[1]}
> +
> +# Remove unnecessary files
> +find $SCRATCH_MNT -not -inum $fake_inum -type f -delete
> +# Rename a file root file to the static filename
> +find $SCRATCH_MNT -inum $fake_inum -exec mv {} $SCRATCH_MNT/fakeroot \;
> +
> +# Override the default cleanup function.
> +_cleanup()
> +{
> + _cleanup_dump
> + cd /
> + rm -f $tmp.*
> +}
> +
> +_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 }' |\
> + grep -E -v 'dumpdir|housekeeping|dirattr|dirextattr|namreg|state|tree'
> +}
> +
> +
> +_create_dumpdir_hardlinks 9
> +
> +echo "Do the incremental dumps"
> +i=0
> +while [ $i -le 9 ]; do
> + if [ $i -gt 0 ]; then
> + sleep 2
> + _modify_level $i
> + fi
> +
> + _stable_fs
> + sleep 2
> +
> + echo "********* level $i ***********" >>$seqres.full
> + date >>$seqres.full
> + find $SCRATCH_MNT -exec $here/src/lstat64 {} \; | sed 's/(00.*)//' >$tmp.dates.$i
> + if [ $i -gt 0 ]; then
> + let level_1=$i-1
> + diff -c $tmp.dates.$level_1 $tmp.dates.$i >>$seqres.full
> + else
> + cat $tmp.dates.$i >>$seqres.full
> + fi
> +
> + dump_file=$tmp.df.level$i
> + _do_dump_file -f $dump_file -l $i
> + # Set the wrong root inode number to the dump file
> + # as problematic xfsdump used to do.
> + $here/src/fake-dump-rootino $dump_file $fake_inum
> +
> + let i=$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"
> + _do_restore_toc -x -f $tmp.df.level$i | \
> + sed -e "s/rootino #${fake_inum}/rootino #FAKENO/g" \
> + -e "s/# to ${root_inum}/# to ROOTNO/g"
> + let i=$i+1
> +done
> +
> +echo "Do the cumulative restores"
> +_prepare_restore_dir
> +i=0
> +while [ $i -le 9 ]; do
> + if [ $i -eq 0 ]; then
> + # The root inode is fixed at the first restore
> + opt='-x'
> + else
> + opt=
> + fi
> + echo ""
> + echo "restoring from df.level$i"
> + _do_restore_file_cum $opt -f $tmp.df.level$i | \
> + sed -e "s/rootino #${fake_inum}/rootino #FAKENO/g" \
> + -e "s/# to ${root_inum}/# to ROOTNO/g"
> + echo "ls -l restore_dir"
> + ls -lR $restore_dir | _ls_size_filter | _check_quota_file
> + let i=$i+1
> +done
> +
> +# success, all done
> +status=0
> +exit
> diff --git a/tests/xfs/560.out b/tests/xfs/560.out
> new file mode 100644
> index 00000000..0f2236a6
> --- /dev/null
> +++ b/tests/xfs/560.out
> @@ -0,0 +1,1517 @@
> +QA output created by 560
> +Creating directory system of hardlinks to incrementally dump.
> +creating hardlink file1_h1 to file1
> +creating hardlink file1_h2 to file1
> +creating hardlink file1_h3 to file1
> +creating hardlink file1_h4 to file1
> +creating hardlink file1_h5 to file1
> +creating hardlink file2_h1 to file2
> +creating hardlink file2_h2 to file2
> +creating hardlink file2_h3 to file2
> +creating hardlink file2_h4 to file2
> +creating hardlink file2_h5 to file2
> +creating hardlink file3_h1 to file3
> +creating hardlink file3_h2 to file3
> +creating hardlink file3_h3 to file3
> +creating hardlink file3_h4 to file3
> +creating hardlink file3_h5 to file3
> +creating hardlink file4_h1 to file4
> +creating hardlink file4_h2 to file4
> +creating hardlink file4_h3 to file4
> +creating hardlink file4_h4 to file4
> +creating hardlink file4_h5 to file4
> +creating hardlink file5_h1 to file5
> +creating hardlink file5_h2 to file5
> +creating hardlink file5_h3 to file5
> +creating hardlink file5_h4 to file5
> +creating hardlink file5_h5 to file5
> +creating hardlink file6_h1 to file6
> +creating hardlink file6_h2 to file6
> +creating hardlink file6_h3 to file6
> +creating hardlink file6_h4 to file6
> +creating hardlink file6_h5 to file6
> +creating hardlink file7_h1 to file7
> +creating hardlink file7_h2 to file7
> +creating hardlink file7_h3 to file7
> +creating hardlink file7_h4 to file7
> +creating hardlink file7_h5 to file7
> +creating hardlink file8_h1 to file8
> +creating hardlink file8_h2 to file8
> +creating hardlink file8_h3 to file8
> +creating hardlink file8_h4 to file8
> +creating hardlink file8_h5 to file8
> +creating hardlink file9_h1 to file9
> +creating hardlink file9_h2 to file9
> +creating hardlink file9_h3 to file9
> +creating hardlink file9_h4 to file9
> +creating hardlink file9_h5 to file9
> +Do the incremental dumps
> +Dumping to file...
> +xfsdump -l0 -f DUMP_FILE -M stress_tape_media -L stress_560 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_560"
> +xfsdump: ino map <PHASES>
> +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
> +Dumping to file...
> +xfsdump -l1 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
> +xfsdump: using file dump (drive_simple) strategy
> +xfsdump: level 1 incremental dump of HOSTNAME:SCRATCH_MNT based on level 0 dump begun DATE
> +xfsdump: dump date: DATE
> +xfsdump: session id: ID
> +xfsdump: session label: "stress_560"
> +xfsdump: ino map <PHASES>
> +xfsdump: ino map construction complete
> +xfsdump: estimated dump size: NUM bytes
> +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
> +Dumping to file...
> +xfsdump -l2 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
> +xfsdump: using file dump (drive_simple) strategy
> +xfsdump: level 2 incremental dump of HOSTNAME:SCRATCH_MNT based on level 1 dump begun DATE
> +xfsdump: dump date: DATE
> +xfsdump: session id: ID
> +xfsdump: session label: "stress_560"
> +xfsdump: ino map <PHASES>
> +xfsdump: ino map construction complete
> +xfsdump: estimated dump size: NUM bytes
> +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
> +Dumping to file...
> +xfsdump -l3 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
> +xfsdump: using file dump (drive_simple) strategy
> +xfsdump: level 3 incremental dump of HOSTNAME:SCRATCH_MNT based on level 2 dump begun DATE
> +xfsdump: dump date: DATE
> +xfsdump: session id: ID
> +xfsdump: session label: "stress_560"
> +xfsdump: ino map <PHASES>
> +xfsdump: ino map construction complete
> +xfsdump: estimated dump size: NUM bytes
> +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
> +Dumping to file...
> +xfsdump -l4 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
> +xfsdump: using file dump (drive_simple) strategy
> +xfsdump: level 4 incremental dump of HOSTNAME:SCRATCH_MNT based on level 3 dump begun DATE
> +xfsdump: dump date: DATE
> +xfsdump: session id: ID
> +xfsdump: session label: "stress_560"
> +xfsdump: ino map <PHASES>
> +xfsdump: ino map construction complete
> +xfsdump: estimated dump size: NUM bytes
> +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
> +Dumping to file...
> +xfsdump -l5 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
> +xfsdump: using file dump (drive_simple) strategy
> +xfsdump: level 5 incremental dump of HOSTNAME:SCRATCH_MNT based on level 4 dump begun DATE
> +xfsdump: dump date: DATE
> +xfsdump: session id: ID
> +xfsdump: session label: "stress_560"
> +xfsdump: ino map <PHASES>
> +xfsdump: ino map construction complete
> +xfsdump: estimated dump size: NUM bytes
> +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
> +Dumping to file...
> +xfsdump -l6 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
> +xfsdump: using file dump (drive_simple) strategy
> +xfsdump: level 6 incremental dump of HOSTNAME:SCRATCH_MNT based on level 5 dump begun DATE
> +xfsdump: dump date: DATE
> +xfsdump: session id: ID
> +xfsdump: session label: "stress_560"
> +xfsdump: ino map <PHASES>
> +xfsdump: ino map construction complete
> +xfsdump: estimated dump size: NUM bytes
> +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
> +Dumping to file...
> +xfsdump -l7 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
> +xfsdump: using file dump (drive_simple) strategy
> +xfsdump: level 7 incremental dump of HOSTNAME:SCRATCH_MNT based on level 6 dump begun DATE
> +xfsdump: dump date: DATE
> +xfsdump: session id: ID
> +xfsdump: session label: "stress_560"
> +xfsdump: ino map <PHASES>
> +xfsdump: ino map construction complete
> +xfsdump: estimated dump size: NUM bytes
> +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
> +Dumping to file...
> +xfsdump -l8 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
> +xfsdump: using file dump (drive_simple) strategy
> +xfsdump: level 8 incremental dump of HOSTNAME:SCRATCH_MNT based on level 7 dump begun DATE
> +xfsdump: dump date: DATE
> +xfsdump: session id: ID
> +xfsdump: session label: "stress_560"
> +xfsdump: ino map <PHASES>
> +xfsdump: ino map construction complete
> +xfsdump: estimated dump size: NUM bytes
> +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
> +Dumping to file...
> +xfsdump -l9 -f DUMP_FILE -M stress_tape_media -L stress_560 SCRATCH_MNT
> +xfsdump: using file dump (drive_simple) strategy
> +xfsdump: level 9 incremental dump of HOSTNAME:SCRATCH_MNT based on level 8 dump begun DATE
> +xfsdump: dump date: DATE
> +xfsdump: session id: ID
> +xfsdump: session label: "stress_560"
> +xfsdump: ino map <PHASES>
> +xfsdump: ino map construction complete
> +xfsdump: estimated dump size: NUM bytes
> +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
> +Listing of what files we start with:
> +12 file1
> +12 file1_h1
> +12 file1_h2
> +12 file1_h3
> +12 file1_h4
> +12 file1_h5
> +12 file2
> +12 file2_h1
> +12 file2_h2
> +12 file2_h3
> +12 file2_h4
> +12 file2_h5
> +12 file3
> +12 file3_h1
> +12 file3_h2
> +12 file3_h3
> +12 file3_h4
> +12 file3_h5
> +12 file4
> +12 file4_h1
> +12 file4_h2
> +12 file4_h3
> +12 file4_h4
> +12 file4_h5
> +12 file5
> +12 file5_h1
> +12 file5_h2
> +12 file5_h3
> +12 file5_h4
> +12 file5_h5
> +12 file6
> +12 file6_h1
> +12 file6_h2
> +12 file6_h3
> +12 file6_h4
> +12 file6_h5
> +12 file7
> +12 file7_h1
> +12 file7_h2
> +12 file7_h3
> +12 file7_h4
> +12 file7_h5
> +12 file8
> +12 file8_h1
> +12 file8_h2
> +12 file8_h3
> +12 file8_h4
> +12 file8_h5
> +12 file9
> +12 file9_h1
> +12 file9_h2
> +12 file9_h3
> +12 file9_h4
> +12 file9_h5
> +Look at what files are contained in the inc. dump
> +
> +restoring from df.level0
> +Contents of dump ...
> +xfsrestore -x -f DUMP_FILE -t
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 0
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: found fake rootino #FAKENO, will fix.
> +xfsrestore: fix root # to ROOTNO (bind mount?)
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: reading non-directory files
> +xfsrestore: table of contents display complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +
> +dumpdir/file1
> +dumpdir/file1_h1
> +dumpdir/file1_h2
> +dumpdir/file1_h3
> +dumpdir/file1_h4
> +dumpdir/file1_h5
> +dumpdir/file2
> +dumpdir/file2_h1
> +dumpdir/file2_h2
> +dumpdir/file2_h3
> +dumpdir/file2_h4
> +dumpdir/file2_h5
> +dumpdir/file3
> +dumpdir/file3_h1
> +dumpdir/file3_h2
> +dumpdir/file3_h3
> +dumpdir/file3_h4
> +dumpdir/file3_h5
> +dumpdir/file4
> +dumpdir/file4_h1
> +dumpdir/file4_h2
> +dumpdir/file4_h3
> +dumpdir/file4_h4
> +dumpdir/file4_h5
> +dumpdir/file5
> +dumpdir/file5_h1
> +dumpdir/file5_h2
> +dumpdir/file5_h3
> +dumpdir/file5_h4
> +dumpdir/file5_h5
> +dumpdir/file6
> +dumpdir/file6_h1
> +dumpdir/file6_h2
> +dumpdir/file6_h3
> +dumpdir/file6_h4
> +dumpdir/file6_h5
> +dumpdir/file7
> +dumpdir/file7_h1
> +dumpdir/file7_h2
> +dumpdir/file7_h3
> +dumpdir/file7_h4
> +dumpdir/file7_h5
> +dumpdir/file8
> +dumpdir/file8_h1
> +dumpdir/file8_h2
> +dumpdir/file8_h3
> +dumpdir/file8_h4
> +dumpdir/file8_h5
> +dumpdir/file9
> +dumpdir/file9_h1
> +dumpdir/file9_h2
> +dumpdir/file9_h3
> +dumpdir/file9_h4
> +dumpdir/file9_h5
> +fakeroot
> +
> +restoring from df.level1
> +Contents of dump ...
> +xfsrestore -x -f DUMP_FILE -t
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 1
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: found fake rootino #FAKENO, will fix.
> +xfsrestore: fix root # to ROOTNO (bind mount?)
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: reading non-directory files
> +xfsrestore: table of contents display complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +
> +dumpdir/file1
> +dumpdir/file1_h1
> +dumpdir/file1_h2
> +dumpdir/file1_h3
> +dumpdir/file1_h4
> +dumpdir/file1_h5
> +
> +restoring from df.level2
> +Contents of dump ...
> +xfsrestore -x -f DUMP_FILE -t
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 2
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: found fake rootino #FAKENO, will fix.
> +xfsrestore: fix root # to ROOTNO (bind mount?)
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: reading non-directory files
> +xfsrestore: table of contents display complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +
> +dumpdir/file2
> +dumpdir/file2_h1
> +dumpdir/file2_h2
> +dumpdir/file2_h3
> +dumpdir/file2_h4
> +dumpdir/file2_h5
> +
> +restoring from df.level3
> +Contents of dump ...
> +xfsrestore -x -f DUMP_FILE -t
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 3
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: found fake rootino #FAKENO, will fix.
> +xfsrestore: fix root # to ROOTNO (bind mount?)
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: reading non-directory files
> +xfsrestore: table of contents display complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +
> +dumpdir/file3
> +dumpdir/file3_h1
> +dumpdir/file3_h2
> +dumpdir/file3_h3
> +dumpdir/file3_h4
> +dumpdir/file3_h5
> +
> +restoring from df.level4
> +Contents of dump ...
> +xfsrestore -x -f DUMP_FILE -t
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 4
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: found fake rootino #FAKENO, will fix.
> +xfsrestore: fix root # to ROOTNO (bind mount?)
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: reading non-directory files
> +xfsrestore: table of contents display complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +
> +dumpdir/file4
> +dumpdir/file4_h1
> +dumpdir/file4_h2
> +dumpdir/file4_h3
> +dumpdir/file4_h4
> +dumpdir/file4_h5
> +
> +restoring from df.level5
> +Contents of dump ...
> +xfsrestore -x -f DUMP_FILE -t
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 5
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: found fake rootino #FAKENO, will fix.
> +xfsrestore: fix root # to ROOTNO (bind mount?)
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: reading non-directory files
> +xfsrestore: table of contents display complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +
> +dumpdir/file5
> +dumpdir/file5_h1
> +dumpdir/file5_h2
> +dumpdir/file5_h3
> +dumpdir/file5_h4
> +dumpdir/file5_h5
> +
> +restoring from df.level6
> +Contents of dump ...
> +xfsrestore -x -f DUMP_FILE -t
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 6
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: found fake rootino #FAKENO, will fix.
> +xfsrestore: fix root # to ROOTNO (bind mount?)
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: reading non-directory files
> +xfsrestore: table of contents display complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +
> +dumpdir/file6
> +dumpdir/file6_h1
> +dumpdir/file6_h2
> +dumpdir/file6_h3
> +dumpdir/file6_h4
> +dumpdir/file6_h5
> +
> +restoring from df.level7
> +Contents of dump ...
> +xfsrestore -x -f DUMP_FILE -t
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 7
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: found fake rootino #FAKENO, will fix.
> +xfsrestore: fix root # to ROOTNO (bind mount?)
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: reading non-directory files
> +xfsrestore: table of contents display complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +
> +dumpdir/file7
> +dumpdir/file7_h1
> +dumpdir/file7_h2
> +dumpdir/file7_h3
> +dumpdir/file7_h4
> +dumpdir/file7_h5
> +
> +restoring from df.level8
> +Contents of dump ...
> +xfsrestore -x -f DUMP_FILE -t
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 8
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: found fake rootino #FAKENO, will fix.
> +xfsrestore: fix root # to ROOTNO (bind mount?)
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: reading non-directory files
> +xfsrestore: table of contents display complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +
> +dumpdir/file8
> +dumpdir/file8_h1
> +dumpdir/file8_h2
> +dumpdir/file8_h3
> +dumpdir/file8_h4
> +dumpdir/file8_h5
> +
> +restoring from df.level9
> +Contents of dump ...
> +xfsrestore -x -f DUMP_FILE -t
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 9
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: found fake rootino #FAKENO, will fix.
> +xfsrestore: fix root # to ROOTNO (bind mount?)
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: reading non-directory files
> +xfsrestore: table of contents display complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +
> +dumpdir/file9
> +dumpdir/file9_h1
> +dumpdir/file9_h2
> +dumpdir/file9_h3
> +dumpdir/file9_h4
> +dumpdir/file9_h5
> +Do the cumulative restores
> +
> +restoring from df.level0
> +Restoring cumumlative from file...
> +xfsrestore -x -f DUMP_FILE -r RESTORE_DIR
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 0
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: found fake rootino #FAKENO, will fix.
> +xfsrestore: fix root # to ROOTNO (bind mount?)
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: restoring non-directory files
> +xfsrestore: restore complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +ls -l restore_dir
> +0 fakeroot
> +0 file1
> +0 file1_h1
> +0 file1_h2
> +0 file1_h3
> +0 file1_h4
> +0 file1_h5
> +0 file2
> +0 file2_h1
> +0 file2_h2
> +0 file2_h3
> +0 file2_h4
> +0 file2_h5
> +0 file3
> +0 file3_h1
> +0 file3_h2
> +0 file3_h3
> +0 file3_h4
> +0 file3_h5
> +0 file4
> +0 file4_h1
> +0 file4_h2
> +0 file4_h3
> +0 file4_h4
> +0 file4_h5
> +0 file5
> +0 file5_h1
> +0 file5_h2
> +0 file5_h3
> +0 file5_h4
> +0 file5_h5
> +0 file6
> +0 file6_h1
> +0 file6_h2
> +0 file6_h3
> +0 file6_h4
> +0 file6_h5
> +0 file7
> +0 file7_h1
> +0 file7_h2
> +0 file7_h3
> +0 file7_h4
> +0 file7_h5
> +0 file8
> +0 file8_h1
> +0 file8_h2
> +0 file8_h3
> +0 file8_h4
> +0 file8_h5
> +0 file9
> +0 file9_h1
> +0 file9_h2
> +0 file9_h3
> +0 file9_h4
> +0 file9_h5
> +
> +restoring from df.level1
> +Restoring cumumlative from file...
> +xfsrestore -f DUMP_FILE -r RESTORE_DIR
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 1
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: restoring non-directory files
> +xfsrestore: restore complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +ls -l restore_dir
> +0 fakeroot
> +12 file1
> +12 file1_h1
> +12 file1_h2
> +12 file1_h3
> +12 file1_h4
> +12 file1_h5
> +0 file2
> +0 file2_h1
> +0 file2_h2
> +0 file2_h3
> +0 file2_h4
> +0 file2_h5
> +0 file3
> +0 file3_h1
> +0 file3_h2
> +0 file3_h3
> +0 file3_h4
> +0 file3_h5
> +0 file4
> +0 file4_h1
> +0 file4_h2
> +0 file4_h3
> +0 file4_h4
> +0 file4_h5
> +0 file5
> +0 file5_h1
> +0 file5_h2
> +0 file5_h3
> +0 file5_h4
> +0 file5_h5
> +0 file6
> +0 file6_h1
> +0 file6_h2
> +0 file6_h3
> +0 file6_h4
> +0 file6_h5
> +0 file7
> +0 file7_h1
> +0 file7_h2
> +0 file7_h3
> +0 file7_h4
> +0 file7_h5
> +0 file8
> +0 file8_h1
> +0 file8_h2
> +0 file8_h3
> +0 file8_h4
> +0 file8_h5
> +0 file9
> +0 file9_h1
> +0 file9_h2
> +0 file9_h3
> +0 file9_h4
> +0 file9_h5
> +
> +restoring from df.level2
> +Restoring cumumlative from file...
> +xfsrestore -f DUMP_FILE -r RESTORE_DIR
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 2
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: restoring non-directory files
> +xfsrestore: restore complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +ls -l restore_dir
> +0 fakeroot
> +12 file1
> +12 file1_h1
> +12 file1_h2
> +12 file1_h3
> +12 file1_h4
> +12 file1_h5
> +12 file2
> +12 file2_h1
> +12 file2_h2
> +12 file2_h3
> +12 file2_h4
> +12 file2_h5
> +0 file3
> +0 file3_h1
> +0 file3_h2
> +0 file3_h3
> +0 file3_h4
> +0 file3_h5
> +0 file4
> +0 file4_h1
> +0 file4_h2
> +0 file4_h3
> +0 file4_h4
> +0 file4_h5
> +0 file5
> +0 file5_h1
> +0 file5_h2
> +0 file5_h3
> +0 file5_h4
> +0 file5_h5
> +0 file6
> +0 file6_h1
> +0 file6_h2
> +0 file6_h3
> +0 file6_h4
> +0 file6_h5
> +0 file7
> +0 file7_h1
> +0 file7_h2
> +0 file7_h3
> +0 file7_h4
> +0 file7_h5
> +0 file8
> +0 file8_h1
> +0 file8_h2
> +0 file8_h3
> +0 file8_h4
> +0 file8_h5
> +0 file9
> +0 file9_h1
> +0 file9_h2
> +0 file9_h3
> +0 file9_h4
> +0 file9_h5
> +
> +restoring from df.level3
> +Restoring cumumlative from file...
> +xfsrestore -f DUMP_FILE -r RESTORE_DIR
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 3
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: restoring non-directory files
> +xfsrestore: restore complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +ls -l restore_dir
> +0 fakeroot
> +12 file1
> +12 file1_h1
> +12 file1_h2
> +12 file1_h3
> +12 file1_h4
> +12 file1_h5
> +12 file2
> +12 file2_h1
> +12 file2_h2
> +12 file2_h3
> +12 file2_h4
> +12 file2_h5
> +12 file3
> +12 file3_h1
> +12 file3_h2
> +12 file3_h3
> +12 file3_h4
> +12 file3_h5
> +0 file4
> +0 file4_h1
> +0 file4_h2
> +0 file4_h3
> +0 file4_h4
> +0 file4_h5
> +0 file5
> +0 file5_h1
> +0 file5_h2
> +0 file5_h3
> +0 file5_h4
> +0 file5_h5
> +0 file6
> +0 file6_h1
> +0 file6_h2
> +0 file6_h3
> +0 file6_h4
> +0 file6_h5
> +0 file7
> +0 file7_h1
> +0 file7_h2
> +0 file7_h3
> +0 file7_h4
> +0 file7_h5
> +0 file8
> +0 file8_h1
> +0 file8_h2
> +0 file8_h3
> +0 file8_h4
> +0 file8_h5
> +0 file9
> +0 file9_h1
> +0 file9_h2
> +0 file9_h3
> +0 file9_h4
> +0 file9_h5
> +
> +restoring from df.level4
> +Restoring cumumlative from file...
> +xfsrestore -f DUMP_FILE -r RESTORE_DIR
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 4
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: restoring non-directory files
> +xfsrestore: restore complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +ls -l restore_dir
> +0 fakeroot
> +12 file1
> +12 file1_h1
> +12 file1_h2
> +12 file1_h3
> +12 file1_h4
> +12 file1_h5
> +12 file2
> +12 file2_h1
> +12 file2_h2
> +12 file2_h3
> +12 file2_h4
> +12 file2_h5
> +12 file3
> +12 file3_h1
> +12 file3_h2
> +12 file3_h3
> +12 file3_h4
> +12 file3_h5
> +12 file4
> +12 file4_h1
> +12 file4_h2
> +12 file4_h3
> +12 file4_h4
> +12 file4_h5
> +0 file5
> +0 file5_h1
> +0 file5_h2
> +0 file5_h3
> +0 file5_h4
> +0 file5_h5
> +0 file6
> +0 file6_h1
> +0 file6_h2
> +0 file6_h3
> +0 file6_h4
> +0 file6_h5
> +0 file7
> +0 file7_h1
> +0 file7_h2
> +0 file7_h3
> +0 file7_h4
> +0 file7_h5
> +0 file8
> +0 file8_h1
> +0 file8_h2
> +0 file8_h3
> +0 file8_h4
> +0 file8_h5
> +0 file9
> +0 file9_h1
> +0 file9_h2
> +0 file9_h3
> +0 file9_h4
> +0 file9_h5
> +
> +restoring from df.level5
> +Restoring cumumlative from file...
> +xfsrestore -f DUMP_FILE -r RESTORE_DIR
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 5
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: restoring non-directory files
> +xfsrestore: restore complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +ls -l restore_dir
> +0 fakeroot
> +12 file1
> +12 file1_h1
> +12 file1_h2
> +12 file1_h3
> +12 file1_h4
> +12 file1_h5
> +12 file2
> +12 file2_h1
> +12 file2_h2
> +12 file2_h3
> +12 file2_h4
> +12 file2_h5
> +12 file3
> +12 file3_h1
> +12 file3_h2
> +12 file3_h3
> +12 file3_h4
> +12 file3_h5
> +12 file4
> +12 file4_h1
> +12 file4_h2
> +12 file4_h3
> +12 file4_h4
> +12 file4_h5
> +12 file5
> +12 file5_h1
> +12 file5_h2
> +12 file5_h3
> +12 file5_h4
> +12 file5_h5
> +0 file6
> +0 file6_h1
> +0 file6_h2
> +0 file6_h3
> +0 file6_h4
> +0 file6_h5
> +0 file7
> +0 file7_h1
> +0 file7_h2
> +0 file7_h3
> +0 file7_h4
> +0 file7_h5
> +0 file8
> +0 file8_h1
> +0 file8_h2
> +0 file8_h3
> +0 file8_h4
> +0 file8_h5
> +0 file9
> +0 file9_h1
> +0 file9_h2
> +0 file9_h3
> +0 file9_h4
> +0 file9_h5
> +
> +restoring from df.level6
> +Restoring cumumlative from file...
> +xfsrestore -f DUMP_FILE -r RESTORE_DIR
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 6
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: restoring non-directory files
> +xfsrestore: restore complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +ls -l restore_dir
> +0 fakeroot
> +12 file1
> +12 file1_h1
> +12 file1_h2
> +12 file1_h3
> +12 file1_h4
> +12 file1_h5
> +12 file2
> +12 file2_h1
> +12 file2_h2
> +12 file2_h3
> +12 file2_h4
> +12 file2_h5
> +12 file3
> +12 file3_h1
> +12 file3_h2
> +12 file3_h3
> +12 file3_h4
> +12 file3_h5
> +12 file4
> +12 file4_h1
> +12 file4_h2
> +12 file4_h3
> +12 file4_h4
> +12 file4_h5
> +12 file5
> +12 file5_h1
> +12 file5_h2
> +12 file5_h3
> +12 file5_h4
> +12 file5_h5
> +12 file6
> +12 file6_h1
> +12 file6_h2
> +12 file6_h3
> +12 file6_h4
> +12 file6_h5
> +0 file7
> +0 file7_h1
> +0 file7_h2
> +0 file7_h3
> +0 file7_h4
> +0 file7_h5
> +0 file8
> +0 file8_h1
> +0 file8_h2
> +0 file8_h3
> +0 file8_h4
> +0 file8_h5
> +0 file9
> +0 file9_h1
> +0 file9_h2
> +0 file9_h3
> +0 file9_h4
> +0 file9_h5
> +
> +restoring from df.level7
> +Restoring cumumlative from file...
> +xfsrestore -f DUMP_FILE -r RESTORE_DIR
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 7
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: restoring non-directory files
> +xfsrestore: restore complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +ls -l restore_dir
> +0 fakeroot
> +12 file1
> +12 file1_h1
> +12 file1_h2
> +12 file1_h3
> +12 file1_h4
> +12 file1_h5
> +12 file2
> +12 file2_h1
> +12 file2_h2
> +12 file2_h3
> +12 file2_h4
> +12 file2_h5
> +12 file3
> +12 file3_h1
> +12 file3_h2
> +12 file3_h3
> +12 file3_h4
> +12 file3_h5
> +12 file4
> +12 file4_h1
> +12 file4_h2
> +12 file4_h3
> +12 file4_h4
> +12 file4_h5
> +12 file5
> +12 file5_h1
> +12 file5_h2
> +12 file5_h3
> +12 file5_h4
> +12 file5_h5
> +12 file6
> +12 file6_h1
> +12 file6_h2
> +12 file6_h3
> +12 file6_h4
> +12 file6_h5
> +12 file7
> +12 file7_h1
> +12 file7_h2
> +12 file7_h3
> +12 file7_h4
> +12 file7_h5
> +0 file8
> +0 file8_h1
> +0 file8_h2
> +0 file8_h3
> +0 file8_h4
> +0 file8_h5
> +0 file9
> +0 file9_h1
> +0 file9_h2
> +0 file9_h3
> +0 file9_h4
> +0 file9_h5
> +
> +restoring from df.level8
> +Restoring cumumlative from file...
> +xfsrestore -f DUMP_FILE -r RESTORE_DIR
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 8
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: restoring non-directory files
> +xfsrestore: restore complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +ls -l restore_dir
> +0 fakeroot
> +12 file1
> +12 file1_h1
> +12 file1_h2
> +12 file1_h3
> +12 file1_h4
> +12 file1_h5
> +12 file2
> +12 file2_h1
> +12 file2_h2
> +12 file2_h3
> +12 file2_h4
> +12 file2_h5
> +12 file3
> +12 file3_h1
> +12 file3_h2
> +12 file3_h3
> +12 file3_h4
> +12 file3_h5
> +12 file4
> +12 file4_h1
> +12 file4_h2
> +12 file4_h3
> +12 file4_h4
> +12 file4_h5
> +12 file5
> +12 file5_h1
> +12 file5_h2
> +12 file5_h3
> +12 file5_h4
> +12 file5_h5
> +12 file6
> +12 file6_h1
> +12 file6_h2
> +12 file6_h3
> +12 file6_h4
> +12 file6_h5
> +12 file7
> +12 file7_h1
> +12 file7_h2
> +12 file7_h3
> +12 file7_h4
> +12 file7_h5
> +12 file8
> +12 file8_h1
> +12 file8_h2
> +12 file8_h3
> +12 file8_h4
> +12 file8_h5
> +0 file9
> +0 file9_h1
> +0 file9_h2
> +0 file9_h3
> +0 file9_h4
> +0 file9_h5
> +
> +restoring from df.level9
> +Restoring cumumlative from file...
> +xfsrestore -f DUMP_FILE -r RESTORE_DIR
> +xfsrestore: using file dump (drive_simple) strategy
> +xfsrestore: searching media for dump
> +xfsrestore: examining media file 0
> +xfsrestore: dump description:
> +xfsrestore: hostname: HOSTNAME
> +xfsrestore: mount point: SCRATCH_MNT
> +xfsrestore: volume: SCRATCH_DEV
> +xfsrestore: session time: TIME
> +xfsrestore: level: 9
> +xfsrestore: session label: "stress_560"
> +xfsrestore: media label: "stress_tape_media"
> +xfsrestore: file system ID: ID
> +xfsrestore: session id: ID
> +xfsrestore: media ID: ID
> +xfsrestore: using online session inventory
> +xfsrestore: searching media for directory dump
> +xfsrestore: reading directories
> +xfsrestore: 2 directories and 56 entries processed
> +xfsrestore: directory post-processing
> +xfsrestore: restoring non-directory files
> +xfsrestore: restore complete: SECS seconds elapsed
> +xfsrestore: Restore Status: SUCCESS
> +ls -l restore_dir
> +0 fakeroot
> +12 file1
> +12 file1_h1
> +12 file1_h2
> +12 file1_h3
> +12 file1_h4
> +12 file1_h5
> +12 file2
> +12 file2_h1
> +12 file2_h2
> +12 file2_h3
> +12 file2_h4
> +12 file2_h5
> +12 file3
> +12 file3_h1
> +12 file3_h2
> +12 file3_h3
> +12 file3_h4
> +12 file3_h5
> +12 file4
> +12 file4_h1
> +12 file4_h2
> +12 file4_h3
> +12 file4_h4
> +12 file4_h5
> +12 file5
> +12 file5_h1
> +12 file5_h2
> +12 file5_h3
> +12 file5_h4
> +12 file5_h5
> +12 file6
> +12 file6_h1
> +12 file6_h2
> +12 file6_h3
> +12 file6_h4
> +12 file6_h5
> +12 file7
> +12 file7_h1
> +12 file7_h2
> +12 file7_h3
> +12 file7_h4
> +12 file7_h5
> +12 file8
> +12 file8_h1
> +12 file8_h2
> +12 file8_h3
> +12 file8_h4
> +12 file8_h5
> +12 file9
> +12 file9_h1
> +12 file9_h2
> +12 file9_h3
> +12 file9_h4
> +12 file9_h5
> --
> 2.39.0
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-01-12 8:55 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-10 22:00 [PATCH 0/2] xfs: test xfsrestore on multi-level dumpfiles with wrong root Hironori Shiina
2023-01-10 22:00 ` [PATCH 1/2] xfs: add helper to create fake root inode Hironori Shiina
2023-01-10 22:00 ` [PATCH 2/2] xfs: test xfsrestore on multi-level dumpfiles with wrong root Hironori Shiina
2023-01-12 8:53 ` Zorro Lang
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.