Files
apfstests/266
T
Bill Kendall 8c125637c4 xfstests: add test 266 for testing xfsdump -D
Add a test for xfsdump -D, which skips unchanged directories during
an incremental backup. After doing an initial backup, a new file is
added to one directory (to verify that changed directories are
backed up) and several files are appended to. Then an incremental
backup is done with -D set. The test verifies the original and
restored filesystems match after applying the base and incremental
backups, and that the incremental restore output indicates that only
the one changed directory was backed up.

Signed-off-by: Bill Kendall <wkendall@sgi.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2011-11-03 10:16:13 +00:00

75 lines
1.9 KiB
Bash

#! /bin/bash
# FS QA Test No. 266
#
# Test incremental dumps with -D (skip unchanged dirs)
#
#-----------------------------------------------------------------------
# Copyright (c) 2011 SGI. All Rights Reserved.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it would be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#-----------------------------------------------------------------------
#
# creator
owner=wkendall@sgi.com
seq=`basename $0`
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=0 # success is the default!
trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
#
# Add a new file and append a subset of the fill'ed files
# So we can see if just these get dumped on an incremental
#
_add_and_append_dumpdir_fill()
{
cd $dump_dir
echo 'New file' >> newfile
_append_dumpdir_fill
}
# get standard environment, filters and checks
. ./common.rc
. ./common.dump
# real QA test starts here
_supported_fs xfs
_supported_os Linux
$XFSDUMP_PROG -h 2>&1 | grep -q -e -D
if [ $? -ne 0 ]; then
_notrun "requires xfsdump -D"
fi
_create_dumpdir_fill
# ensure file/dir timestamps precede dump timestamp
sleep 2
dump_file=$tmp.df.0
_do_dump_file
_add_and_append_dumpdir_fill
dump_file=$tmp.df.1
_do_dump_file -l 1 -D
dump_file=$tmp.df.0
_do_restore_file_cum -l 0
dump_file=$tmp.df.1
_do_restore_file_cum -l 1
_ls_compare_sub
_diff_compare
# success, all done
exit