All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Dave Chinner <david@fromorbit.com>
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH 6/9] xfs: update and factor xfs_trans_committed()
Date: Sat, 6 Mar 2010 06:24:58 -0500	[thread overview]
Message-ID: <20100306112458.GA20821@infradead.org> (raw)
In-Reply-To: <1267840284-4652-7-git-send-email-david@fromorbit.com>

On Sat, Mar 06, 2010 at 12:51:21PM +1100, Dave Chinner wrote:
> From: Dave Chinner <dchinner@redhat.com>
> 
> The function header to xfs-trans_committed has long had this
> comment:
> 
>  * THIS SHOULD BE REWRITTEN TO USE xfs_trans_next_item()
> 
> To prepare for different methods of committing items, convert the
> code to use xfs_trans_next_item() and factor the code into smaller,
> more digestible chunks.
> 
> Signed-off-by: Dave Chinner <dchinner@redhat.com>

Looks good,


Reviewed-by: Christoph Hellwig <hch@lst.de>

A few nits left over from the old code that might be worth fixing
while you're at it:

> -STATIC void	xfs_trans_chunk_committed(xfs_log_item_chunk_t *, xfs_lsn_t, int);

Once you start reoerding the functions, can we also move
xfs_trans_committed above it's user?

> +static void
> +xfs_trans_item_committed(
> +	xfs_log_item_t	*lip,
> +	xfs_lsn_t	commit_lsn,
> +	int		aborted)
>  {
> +	xfs_lsn_t	item_lsn;
> +	struct xfs_ail	*ailp;

Might be worth to switch to the struct types consistently and give
the variables another tab of indentation.

> +
> +	if (aborted)
> +		lip->li_flags |= XFS_LI_ABORTED;
>  
>  	/*
> +	 * Send in the ABORTED flag to the COMMITTED routine so that it knows
> +	 * whether the transaction was aborted or not.
>  	 */
> +	item_lsn = IOP_COMMITTED(lip, commit_lsn);

If we want to keep the comment it should be moved above the

	if (aborted)

abive.  But I'd just drop it.

> +xfs_trans_committed(
> +	xfs_trans_t	*tp,
> +	int		abortflag)
>  {
>  	xfs_log_item_desc_t	*lidp;
> +	xfs_log_item_chunk_t	*licp;
> +	xfs_log_item_chunk_t	*next_licp;
>  
> +	/*
> +	 * Call the transaction's completion callback if there
> +	 * is one.
> +	 */
> +	if (tp->t_callback != NULL) {
> +		tp->t_callback(tp, tp->t_callarg);
> +	}

	if (tp->t_callback)
		tp->t_callback(tp, tp->t_callarg);

> +	/* free the item chunks, ignoring the embedded chunk */
> +	licp = tp->t_items.lic_next;
> +	while (licp != NULL) {
> +		next_licp = licp->lic_next;
> +		ASSERT(xfs_lic_are_all_free(licp));
> +		kmem_free(licp);
> +		licp = next_licp;

	for (licp = tp->t_items.lic_next; licp != NULL; licp = next_licp) {
		next_licp = licp->lic_next;
		ASSERT(xfs_lic_are_all_free(licp));
		kmem_free(licp);
	}


_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2010-03-06 11:23 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-06  1:51 [PATCH 0/9] Log and transaction cleanups, factoring and bug fixes Dave Chinner
2010-03-06  1:51 ` [PATCH 1/9] xfs: factor log item initialisation Dave Chinner
2010-03-06 10:51   ` Christoph Hellwig
2010-03-06  1:51 ` [PATCH 2/9] xfs: Add inode pin counts to traces Dave Chinner
2010-03-06 10:51   ` Christoph Hellwig
2010-03-06  1:51 ` [PATCH 3/9] xfs: remove stale parameter from ->iop_unpin method Dave Chinner
2010-03-06 10:55   ` Christoph Hellwig
2010-03-06  1:51 ` [PATCH 4/9] xfs: fix reservation release commit flag in xfs_bmap_add_attrfork() Dave Chinner
2010-03-06 10:52   ` Christoph Hellwig
2010-03-06  1:51 ` [PATCH 5/9] xfs: split out iclog writing from xfs_trans_commit() Dave Chinner
2010-03-06 11:08   ` Christoph Hellwig
2010-03-06 11:57     ` Dave Chinner
2010-03-06  1:51 ` [PATCH 6/9] xfs: update and factor xfs_trans_committed() Dave Chinner
2010-03-06 11:24   ` Christoph Hellwig [this message]
2010-03-06 12:01     ` Dave Chinner
2010-03-06  1:51 ` [PATCH 7/9] xfs: log ticket reservation underestimates the number of iclogs Dave Chinner
2010-03-15  2:13   ` Dave Chinner
2010-03-06  1:51 ` [PATCH 8/9] xfs: introduce new internal log vector structure Dave Chinner
2010-03-06 11:31   ` Christoph Hellwig
2010-03-06 12:06     ` Dave Chinner
2010-03-06 15:46   ` Christoph Hellwig
2010-03-08  1:16     ` Dave Chinner
2010-03-06  1:51 ` [PATCH 9/9] xfs: factor xlog_write and make use of new " Dave Chinner
2010-03-06 15:48   ` Christoph Hellwig
2010-03-06 10:56 ` [PATCH 0/9] Log and transaction cleanups, factoring and bug fixes Christoph Hellwig
2010-03-09 11:39 ` Christoph Hellwig
2010-03-09 11:48   ` Dave Chinner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100306112458.GA20821@infradead.org \
    --to=hch@infradead.org \
    --cc=david@fromorbit.com \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.