From: Etienne AUJAMES Date: Tue, 1 Dec 2020 18:10:41 +0000 (+0100) Subject: LU-14165 utils: llog_reader: display changleog_user records X-Git-Tag: 2.15.53~157 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=b94d1c8021298158efe72a2d94e6e9d286a8069a LU-14165 utils: llog_reader: display changleog_user records Add a function to print changelog_user information. llog_reader output: 01 (080)changelog user record (v2) id:0x0 cur_id:3 cur_endrec:0 cur_time:1661258371 cur_mask:0x00000003 cur_name:"toto" ... 04 (080)changelog user record (v1) id:0x0 cur_id:6 cur_endrec:0 cur_time:1661261064 Test-Parameters: trivial testlist=sanity,sanity-hsm Signed-off-by: Etienne AUJAMES Change-Id: I4e948f52a678127d70e8084e94fb89ec2677cc4b Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/40818 Reviewed-by: Alex Zhuravlev Reviewed-by: Andreas Dilger Reviewed-by: Oleg Drokin Tested-by: jenkins Tested-by: Maloo --- diff --git a/lustre/utils/llog_reader.c b/lustre/utils/llog_reader.c index 78020f4..c218af2 100644 --- a/lustre/utils/llog_reader.c +++ b/lustre/utils/llog_reader.c @@ -1002,6 +1002,28 @@ static void print_setattr64_rec_v2(struct llog_setattr64_rec_v2 *lsr) __le32_to_cpu(lsr->lsr_projid)); } +static void print_changelog_user_rec(struct llog_changelog_user_rec *rec) +{ + struct llog_rec_hdr *lrh = &rec->cur_hdr; + bool is_rec_v2 = (__le32_to_cpu(lrh->lrh_type) == CHANGELOG_USER_REC2); + + printf("changelog user record (%s) id:0x%x cur_id:%u cur_endrec:%llu cur_time:%u%s", + is_rec_v2 ? "v2" : "v1", + __le32_to_cpu(lrh->lrh_id), + __le32_to_cpu(rec->cur_id), + __le64_to_cpu(rec->cur_endrec), + __le32_to_cpu(rec->cur_time), + is_rec_v2 ? " " : "\n"); + + if (is_rec_v2) { + struct llog_changelog_user_rec2 *rec2 = (typeof(rec2)) rec; + + printf("cur_mask:0x%08x cur_name:\"%.*s\"\n", + __le32_to_cpu(rec2->cur_mask), + (int) sizeof(rec2->cur_name), rec2->cur_name); + } + +} static void print_records(struct llog_rec_hdr **recs, int rec_number, int is_ext) @@ -1046,8 +1068,9 @@ static void print_records(struct llog_rec_hdr **recs, break; case CHANGELOG_USER_REC: case CHANGELOG_USER_REC2: - printf("changelog_user record id:0x%x\n", - __le32_to_cpu(recs[i]->lrh_id)); + print_changelog_user_rec((struct + llog_changelog_user_rec *) + recs[i]); break; case UPDATE_REC: print_update_rec((struct llog_update_record *)recs[i]);