mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
8c125637c4
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>
75 lines
1.9 KiB
Bash
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
|