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

Christoph Hellwig hch at infradead.org
Fri Nov 2 08:04:26 CDT 2012


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.



More information about the xfs mailing list