From: Alexander Zarochentsev Date: Fri, 16 Jul 2021 19:16:29 +0000 (+0300) Subject: LU-14926 utils: print unlink and setattr recs in llog_reader X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=375e5d67e2d36a8d97c40d16f2aba20d9d26e31b;p=fs%2Flustre-release.git LU-14926 utils: print unlink and setattr recs in llog_reader Enhance llog_reader to print unlink and setattr llog records correctly. Lustre-change: https://review.whamcloud.com/44591 Lustre-commit: 80447caf980699fd1b0118e8f7c11e48aead04ce HPE-bug-id: LUS-10220 Signed-off-by: Alexander Zarochentsev Change-Id: I7b44f65c976459d143521185a807939524f67fa2 Reviewed-by: Andreas Dilger Reviewed-by: Alexander Boyko Reviewed-by: Andrew Perepechko Signed-off-by: Etienne AUJAMES Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/48306 Tested-by: jenkins Tested-by: Maloo --- diff --git a/lustre/utils/llog_reader.c b/lustre/utils/llog_reader.c index 2ae0f18..d86923a 100644 --- a/lustre/utils/llog_reader.c +++ b/lustre/utils/llog_reader.c @@ -923,6 +923,48 @@ void print_update_rec(struct llog_update_record *lur) } +static void print_unlink_rec(struct llog_unlink_rec *lur) +{ + printf("unlink record id:0x%x target %llx:%x:%x\n", + __le32_to_cpu(lur->lur_hdr.lrh_id), + __le64_to_cpu(lur->lur_oid), + __le32_to_cpu(lur->lur_oseq), + __le32_to_cpu(lur->lur_count)); +} + +static void print_unlink64_rec(struct llog_unlink64_rec *lur) +{ + printf("unlink64 record id:0x%x target "DFID"\n", + __le32_to_cpu(lur->lur_hdr.lrh_id), + PFID(&lur->lur_fid)); +} + +static void print_setattr64_rec(struct llog_setattr64_rec *lsr) +{ + printf("setattr64 record id:0x%x target "DFID" valid %llx uid %u:%u gid %u:%u\n", + __le32_to_cpu(lsr->lsr_hdr.lrh_id), + PFID(&lsr->lsr_oi.oi_fid), + __le64_to_cpu(lsr->lsr_valid), + __le32_to_cpu(lsr->lsr_uid_h), + __le32_to_cpu(lsr->lsr_uid), + __le32_to_cpu(lsr->lsr_gid_h), + __le32_to_cpu(lsr->lsr_gid)); +} + +static void print_setattr64_rec_v2(struct llog_setattr64_rec_v2 *lsr) +{ + printf("setattr64 v2 record id:0x%x target "DFID" valid %llx uid %u:%u gid %u:%u prj %u\n", + __le32_to_cpu(lsr->lsr_hdr.lrh_id), + PFID(&lsr->lsr_oi.oi_fid), + __le64_to_cpu(lsr->lsr_valid), + __le32_to_cpu(lsr->lsr_uid_h), + __le32_to_cpu(lsr->lsr_uid), + __le32_to_cpu(lsr->lsr_gid_h), + __le32_to_cpu(lsr->lsr_gid), + __le32_to_cpu(lsr->lsr_projid)); +} + + static void print_records(struct llog_rec_hdr **recs, int rec_number, int is_ext) { @@ -971,6 +1013,22 @@ static void print_records(struct llog_rec_hdr **recs, case UPDATE_REC: print_update_rec((struct llog_update_record *)recs[i]); break; + case MDS_UNLINK_REC: + print_unlink_rec((struct llog_unlink_rec *)recs[i]); + break; + case MDS_UNLINK64_REC: + print_unlink64_rec((struct llog_unlink64_rec *)recs[i]); + break; + case MDS_SETATTR64_REC: + if (__le32_to_cpu(recs[i]->lrh_len) > + sizeof(struct llog_setattr64_rec)) { + print_setattr64_rec_v2( + (struct llog_setattr64_rec_v2 *)recs[i]); + } else { + print_setattr64_rec( + (struct llog_setattr64_rec *)recs[i]); + } + break; default: printf("unknown type %x\n", lopt); break;