From: Tim Shimmin Date: Mon, 3 Dec 2001 06:08:15 +0000 (+0000) Subject: Fix up 064 for quota checks. X-Git-Tag: v1.1.0~1184 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=8c471c83d0b41e5b07744734f404ba340e00d89f;p=users%2Fhch%2Fxfstests-dev.git Fix up 064 for quota checks. --- diff --git a/064 b/064 index 8f0670f5f..7a8b3d0d5 100755 --- a/064 +++ b/064 @@ -104,7 +104,7 @@ while [ $i -le 9 ]; do echo "restoring from df.level$i" _do_restore_file_cum -l $i echo "ls -l restore_dir" - ls -lR $restore_dir | _ls_size_filter + ls -lR $restore_dir | _ls_size_filter | _check_quota_file i=`expr $i + 1` done diff --git a/common.dump b/common.dump index 11c498861..d7475edd0 100644 --- a/common.dump +++ b/common.dump @@ -1033,12 +1033,15 @@ _do_restore_toc() { echo "Contents of dump ..." opts="$_restore_debug -f $dump_file -t" - echo "xfsrestore $opts" | _dir_filter + echo "xfsrestore $opts" | _dir_filter cd $SCRATCH_MNT # for IRIX which needs xfs cwd - xfsrestore $opts 2>&1 | tee -a $seq.full | _dump_filter |\ + xfsrestore $opts 2>&1 | tee -a $seq.full | _dump_filter_main |\ + _check_quota_file |\ $AWK_PROG 'NF != 1 { print; next } {files = sprintf("%s\n%s", files, $1)} END { print files | "sort" } ' + # the above awk code is to alpha sort only the output + # of files (and not the verbose restore msgs) cd $here # put back } @@ -1202,32 +1205,32 @@ _do_invutil() } # -# Look for: -# xfsdump: saving user quota information for: SCRATCH_MNT -# xfsdump: saving group quota information for: SCRATCH_MNT -# xfsrestore: user quota information written to ...' -# xfsrestore: group quota information written to ...' +# ensure we can find the user quota msg if user quotas are on +# ensure we can find the group quota msg if group quotas are on # -_check_quota_dumprestore() +_check_quota() { + usermsg=$1 + groupmsg=$2 uquota=0 gquota=0 $here/src/feature -U $SCRATCH_DEV && uquota=1 $here/src/feature -G $SCRATCH_DEV && gquota=1 - $AWK_PROG -v uquota=$uquota -v gquota=$gquota -v full=$seq.full ' - /user quota information/ { - print "Found user quota:", $0 >>full - found_uquota = 1 - if (!uquota) { + $AWK_PROG -v uquota=$uquota -v gquota=$gquota -v full=$seq.full \ + -v usermsg=$usermsg -v groupmsg=$groupmsg ' + $0 ~ groupmsg { + print "Found group quota:", $0 >>full + found_gquota = 1 + if (!gquota) { print "Found extra:", $0 } next } - /group quota information/ { - print "Found group quota:", $0 >>full - found_gquota = 1 - if (!gquota) { + $0 ~ usermsg { + print "Found user quota:", $0 >>full + found_uquota = 1 + if (!uquota) { print "Found extra:", $0 } next @@ -1235,53 +1238,48 @@ _check_quota_dumprestore() { print } END { if (uquota && !found_uquota) { - print "Missing saving/restoring uquota msg" + print "Missing: ", usermsg } if (gquota && !found_gquota) { - print "Missing saving/restoring gquota msg" + print "Missing: ", groupmsg } } ' } +# +# Look for: +# xfsdump: saving user quota information for: SCRATCH_MNT +# xfsdump: saving group quota information for: SCRATCH_MNT +# xfsrestore: user quota information written to ...' +# xfsrestore: group quota information written to ...' +# +_check_quota_dumprestore() +{ + _check_quota 'user quota information' \ + 'group quota information' +} + # # Look for: # Only in RESTORE_DIR: xfsdump_quotas # Only in RESTORE_DIR: xfsdump_quotas_group # - _check_quota_diff() { - uquota=0 - gquota=0 - $here/src/feature -U $SCRATCH_DEV && uquota=1 - $here/src/feature -G $SCRATCH_DEV && gquota=1 + _check_quota 'Only in RESTORE_DIR: xfsdump_quotas' \ + 'Only in RESTORE_DIR: xfsdump_quotas_group' +} - $AWK_PROG -v uquota=$uquota -v gquota=$gquota ' - /Only in RESTORE_DIR: xfsdump_quotas_group/ { - found_gquota = 1 - if (!gquota) { - print "Found extra:", $0 - } - next - } - /Only in RESTORE_DIR: xfsdump_quotas/ { - found_uquota = 1 - if (!uquota) { - print "Found extra:", $0 - } - next - } - { print } - END { - if (uquota && !found_uquota) { - print "Missing xfsdump_quotas msg" - } - if (gquota && !found_gquota) { - print "Missing xfsdump_quotas_group msg" - } - } - ' +# +# Look for the quota file in the output +# Ensure that it is there if it should be +# Filter it out so that the output is always the same +# even with no quotas +# +_check_quota_file() +{ + _check_quota 'xfsdump_quotas' 'xfsdump_quotas_group' } # make sure this script returns success