From d952bf7cea2974db6245d47675ac7c264a8e9aa5 Mon Sep 17 00:00:00 2001 From: ptools Date: Tue, 30 Sep 2003 06:31:43 +0000 Subject: [PATCH] update for version 2 logs --- 018 | 382 +- 018.grpquota | 13538 ----------------------------------- 018.noquota | 12500 -------------------------------- 018.noquota.op | 5513 ++++++++++++++ 018.noquota.trans_buf | 2550 +++++++ 018.noquota.trans_inode | 3138 ++++++++ 018.out | 47 +- 018.ugquota | 14641 -------------------------------------- 018.ugquota.trans_inode | 3628 ++++++++++ 018.usrquota | 13538 ----------------------------------- 10 files changed, 15190 insertions(+), 54285 deletions(-) delete mode 100755 018.grpquota delete mode 100755 018.noquota create mode 100644 018.noquota.op create mode 100644 018.noquota.trans_buf create mode 100644 018.noquota.trans_inode delete mode 100755 018.ugquota create mode 100644 018.ugquota.trans_inode delete mode 100755 018.usrquota diff --git a/018 b/018 index 5c09592e..f1eb5a2f 100755 --- a/018 +++ b/018 @@ -2,6 +2,8 @@ # XFS QA Test No. 018 # # xfs_logprint test +# - extended to test for various log version 2 scenarios +# - tests 1 case of user/group quotas # #----------------------------------------------------------------------- # Copyright (c) 2000-2002 Silicon Graphics, Inc. All Rights Reserved. @@ -52,6 +54,10 @@ status=0 # success is the default! _cleanup() { rm -f $tmp.* + if [ $status -eq 0 ]; then + # don't keep these files around unless something went wrong + rm $seq.trans* $seq.op* $seq.full + fi echo "*** unmount" umount $SCRATCH_MNT 2>/dev/null } @@ -64,6 +70,76 @@ _full() echo "" >>$seq.full } +# Handle the operations which get split over Log Record +# boundaries. +# Oper (379)..... flags: CONTINUE +# ... +# Oper (0)....... flags: WAS_CONT END +# +# or +# +# Oper (379)..... flags: none +# ... +# Oper (0)....... flags: none +# +_filter_opnum() +{ + $AWK_PROG ' +function extract_opnum(str) { + # e.g. "(379):" => "379" + gsub(/[():]/,"",str) + return str +} +BEGIN { + opnum = -1 + #debug = 1 + } +/^Oper/ && debug { + printf "line = %s\n", $0 + } +/^Oper/ { + was_cont = 0 + prev_opnum = opnum + opnum = extract_opnum($2) + } +/^Oper/ && /flags: CONTINUE/ { + $9 = "none" # overwrite CONTINUE flags + $2 = sprintf("(%d):", remember+opnum) + remember += opnum + print + next + } +/^Oper/ && /flags: WAS_CONT END/ { + # skip over was-continued op + # we assume there can be only 1 + was_cont = 1 + next + } +(was_cont == 1) { + # skip over any continued op stuff + next + } +/^Oper/ && /UNMOUNT/ { + remember = 0 + opnum = -1 + print + next + } +/^Oper/ && (opnum == 0) { + # have operation 0 with NO continued op + remember += (prev_opnum+1) + } +/^Oper/ && debug { printf "line2 = %s, remember = %d, prev_opnum = %d\n", $0, remember, prev_opnum} +/^Oper/ && (remember > 0) { + # add in opnum accumulation from previous LRs + $2 = sprintf("(%d):", remember+opnum) + print + next + } + {print} + ' +} + _filter_logprint() { sed ' @@ -83,7 +159,9 @@ _filter_logprint() s/blkno: [0-9][0-9]*/blkno: /g; s/boff: [0-9][0-9]*/boff: /g; s/len: *[0-9][0-9]*/len:/g; - s/skipped [0-9][0-9]* zeroed blocks/skipped zeroed blocks/; + /zeroed blocks/s/[0-9][0-9]*//g; + /cleared blocks/s/[0-9][0-9]*//g; + /log tail/s/[0-9][0-9]*//g; s/atime:[0-9a-fx]* *mtime:[0-9a-fx]* *ctime:[0-9a-fx]*/atime: