[Cluster-devel] [gfs2-utils PATCH] gfs2_edit: Log descriptor continuation blocks print wrong info

Andrew Price anprice at redhat.com
Thu Nov 12 18:50:27 UTC 2015


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 <rpeterso at redhat.com>

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;
>   		}
>




More information about the Cluster-devel mailing list