diff mbox series

[5/8] xfs/266: fix restore summary counter when quotas are enabled

Message ID 154111437365.6577.10855653156134262665.stgit@magnolia (mailing list archive)
State Accepted
Headers show
Series fstests: fix quota failures on xfs | expand

Commit Message

Darrick J. Wong Nov. 1, 2018, 11:19 p.m. UTC
From: Darrick J. Wong <darrick.wong@oracle.com>

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>
---
 tests/xfs/266 |   17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)
diff mbox series

Patch

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