Re: [PATCH 2/2] xfs_logprint: Handle continued inode transactions

Christoph Hellwig
2012-11-02T13:02:34Z

On Thu, Nov 01, 2012 at 11:32:48AM -0500, Eric Sandeen wrote:
>
> Tested by running xfs_logprint of TEST_DEV in xfsprogs
> after sequential tests; without this change it gets off
> in the weeds eventually; with this fix, it lasts longer,
> until it hits some other yet-unfixed logprint bug...

Add this testcase to xfstests, please.

> int
> -xlog_print_trans_inode(xfs_caddr_t *ptr, int len, int *i, int num_ops)
> +xlog_print_trans_inode(xfs_caddr_t *ptr, int len, int *i, int num_ops, int continued)

Shouldn't this be a bool?

> xlog_print_op_header(op_head, i, &ptr);
> + continued = (XLOG_SET(op_head->oh_flags, XLOG_WAS_CONT_TRANS) ||
> + XLOG_SET(op_head->oh_flags, XLOG_CONTINUE_TRANS));

I'd also really love to see another cleanup patch to kill the
XLOG_SET macro. The XLOG_ flags are true flags so they can be replaced
by a simple op_head->oh_flags & XLOG_FLAG.