From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Price Date: Thu, 12 Nov 2015 18:50:27 +0000 Subject: [Cluster-devel] [gfs2-utils PATCH] gfs2_edit: Log descriptor continuation blocks print wrong info In-Reply-To: <1490350908.9579301.1447353356398.JavaMail.zimbra@redhat.com> References: <1490350908.9579301.1447353356398.JavaMail.zimbra@redhat.com> Message-ID: <5644DF73.9000904@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit On 12/11/15 18:35, Bob Peterson wrote: > Hi, > > This patch fixes a couple minor annoyances wrt the printing of > journal continuation blocks. > > gfs2_edit: Log descriptor continuation blocks print wrong info > > Log descriptor continuation blocks are printing misleading > information. First, the offset from the start of the journal is > reported incorrectly. Second, it's trying to print the block > types when it shouldn't. The faulty output looks like this: > 0x40e9 (j+4093000): Log descriptor continuation block > 0x48202b none 0x481e2d none 0x481c2f none 0x481a31 none > In practice, these are used to continue the job of "revoke" log > descriptors, which have no blocks that follow, so it should not > try to report the types of the blocks that follow. > > This patch fixes the journal offset calculation and skips the > reporting of the block types that follow, so the output looks > is given correctly as: > 0x40e9 (j+4093): Log descriptor continuation block > 0x48202b 0x481e2d 0x481c2f 0x481a31 > > Signed-off-by: Bob Peterson Looks good to me. Thanks, Andy > --- > diff --git a/gfs2/edit/journal.c b/gfs2/edit/journal.c > index 15e02de..80c8738 100644 > --- a/gfs2/edit/journal.c > +++ b/gfs2/edit/journal.c > @@ -610,7 +610,8 @@ void dump_journal(const char *journal, int tblk) > } else if ((ld_blocks > 0) && > (sbd.gfs1 || block_type == GFS2_METATYPE_LB)) { > print_gfs2("0x%"PRIx64" (j+%4"PRIx64"): Log descriptor" > - " continuation block", abs_block, jb); > + " continuation block", abs_block, > + ((jb + wrappt) % j_size) / sbd.bsize); > eol(0); > print_gfs2(" "); > ld_blocks -= print_ld_blks((uint64_t *)dummy_bh.b_data + > @@ -619,7 +620,7 @@ void dump_journal(const char *journal, int tblk) > (dummy_bh.b_data + > sbd.bsize), start_line, > tblk, &tblk_off, 0, rgd, > - 0, 1, NULL, 1); > + 0, 1, NULL, 0); > } else if (block_type == 0) { > continue; > } >