From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> 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@xxxxxxxxxx> --- tests/xfs/266 | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/tests/xfs/266 b/tests/xfs/266 index c4c3e8d9..9084f5b9 100755 --- a/tests/xfs/266 +++ b/tests/xfs/266 @@ -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