xfs/266: fix restore summary counter when quotas are enabled

When quotas are enabled, an incremental backup has to record the quota
file updates too.  Inside a dump the quota files are stored as special
files under the root dump directory.  xfsrestore reports the dump dir
in its restore summary counts even if the dump dir was only there for
the sake of the quota updates, which makes the test fail.  Fix this by
massaging the output when quotas are turned on.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
Darrick J. Wong
2018-11-01 16:19:33 -07:00
committed by Eryu Guan
parent 7bbc93e335
commit 05b0bb8c73
+16 -1
View File
@@ -26,6 +26,21 @@ _add_and_append_dumpdir_fill()
_append_dumpdir_fill
}
# Quota files are stored as special files in the dumpdir of the incremental
# backup. This throws off the directory/file count reported because xfsrestore
# includes the dumpdir in the restore summary counts.
filter_cumulative_quota_updates() {
$here/src/feature -U $SCRATCH_DEV && quota=1
$here/src/feature -G $SCRATCH_DEV && quota=1
$here/src/feature -P $SCRATCH_DEV && quota=1
$AWK_PROG -v quota=$quota '
/entries processed/ {
if (quota) {$2--; $5--;}
}
{print}'
}
# get standard environment, filters and checks
. ./common/rc
. ./common/dump
@@ -47,7 +62,7 @@ _add_and_append_dumpdir_fill
_do_dump_file -f $tmp.df.1 -l 1 -D
_prepare_restore_dir
_do_restore_file_cum -f $tmp.df.0
_do_restore_file_cum -f $tmp.df.1
_do_restore_file_cum -f $tmp.df.1 | filter_cumulative_quota_updates
_ls_compare_sub
_diff_compare