All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: linux-xfs@vger.kernel.org
Subject: [PATCH 00/11] xfs: clean up log tickets and record writes
Date: Wed,  4 Mar 2020 18:53:50 +1100	[thread overview]
Message-ID: <20200304075401.21558-1-david@fromorbit.com> (raw)

This series follows up on conversions about relogging infrastructure
and the way xfs_log_done() does two things but only one of several
callers uses both of those functions. It also pointed out that
xfs_trans_commit() never writes to the log anymore, so only
checkpoints pass a ticket to xlog_write() with this flag set and
no transaction makes multiple calls to xlog_write() calls on the
same ticket. Hence there's no real need for XLOG_TIC_INITED to track
whether a ticket has written a start record to the log anymore.

A lot of further cleanups fell out of this. Once we no longer use
XLOG_TIC_INITED to carry state inside the write loop, the logic
can be simplified in both xlog_write and xfs_log_done. xfs_log_done
can be split up, and then the call chain can be flattened because
xlog_write_done() and xlog_commit_record() are basically the same.

This then leads to cleanups writing both commit and unmount records,
and removes a heap of duplicated error handling code in the unmount
record writing path.

And in looking over all this code, I noticed a heap of stale and
unnecessary comments through the code which can be cleaned up.

Finally, to complete what started all this, the XLOG_TIC_INITED flag
is removed.

This has made it through fstests without causing any obvious
regressions, so it's time for thoughts and comments. This can also
be found at:

https://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs.git/h?xlog-ticket-cleanup

Note that this message appears as the first (empty) commit of the
series, as this is how I get my local hacked version of guilt to
format this cover message automatically.

Diffstat:
 fs/xfs/xfs_log.c      | 509 +++++++++++++++++++-------------------------------
 fs/xfs/xfs_log.h      |   4 -
 fs/xfs/xfs_log_cil.c  |  13 +-
 fs/xfs/xfs_log_priv.h |  22 +--
 fs/xfs/xfs_trans.c    |  24 +--
 5 files changed, 225 insertions(+), 347 deletions(-)

Signed-off-by: Dave Chinner <dchinner@redhat.com>


Dave Chinner (11):
  xfs: don't try to write a start record into every iclog
  xfs: re-order initial space accounting checks in xlog_write
  xfs: refactor and split xfs_log_done()
  xfs: merge xlog_commit_record with xlog_write_done()
  xfs: factor out unmount record writing
  xfs: move xlog_state_ioerror()
  xfs: clean up xlog_state_ioerror()
  xfs: rename the log unmount writing functions.
  xfs: merge unmount record write iclog cleanup.
  xfs: remove some stale comments from the log code
  xfs: kill XLOG_TIC_INITED

 fs/xfs/xfs_log.c      | 509 ++++++++++++++++--------------------------
 fs/xfs/xfs_log.h      |   4 -
 fs/xfs/xfs_log_cil.c  |  13 +-
 fs/xfs/xfs_log_priv.h |  22 +-
 fs/xfs/xfs_trans.c    |  24 +-
 5 files changed, 225 insertions(+), 347 deletions(-)

-- 
2.24.0.rc0


             reply	other threads:[~2020-03-04  7:54 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-04  7:53 Dave Chinner [this message]
2020-03-04  7:53 ` [PATCH 01/11] xfs: don't try to write a start record into every iclog Dave Chinner
2020-03-04 15:44   ` Christoph Hellwig
2020-03-04 21:26     ` Dave Chinner
2020-03-05 15:19       ` Christoph Hellwig
2020-03-05 18:05   ` Brian Foster
2020-03-04  7:53 ` [PATCH 02/11] xfs: re-order initial space accounting checks in xlog_write Dave Chinner
2020-03-05 18:05   ` Brian Foster
2020-03-04  7:53 ` [PATCH 03/11] xfs: refactor and split xfs_log_done() Dave Chinner
2020-03-04 15:49   ` Christoph Hellwig
2020-03-04 21:28     ` Dave Chinner
2020-03-05 15:20       ` Christoph Hellwig
2020-03-05 18:06   ` Brian Foster
2020-03-24 12:37     ` Christoph Hellwig
2020-03-04  7:53 ` [PATCH 04/11] xfs: merge xlog_commit_record with xlog_write_done() Dave Chinner
2020-03-04 15:50   ` Christoph Hellwig
2020-03-05 18:06   ` Brian Foster
2020-03-04  7:53 ` [PATCH 05/11] xfs: factor out unmount record writing Dave Chinner
2020-03-04 15:51   ` Christoph Hellwig
2020-03-05 18:07   ` Brian Foster
2020-03-04  7:53 ` [PATCH 06/11] xfs: move xlog_state_ioerror() Dave Chinner
2020-03-04 15:51   ` Christoph Hellwig
2020-03-04 21:41     ` Dave Chinner
2020-03-05 15:21       ` Christoph Hellwig
2020-03-05 18:07   ` Brian Foster
2020-03-04  7:53 ` [PATCH 07/11] xfs: clean up xlog_state_ioerror() Dave Chinner
2020-03-05 18:07   ` Brian Foster
2020-03-04  7:53 ` [PATCH 08/11] xfs: rename the log unmount writing functions Dave Chinner
2020-03-04 15:52   ` Christoph Hellwig
2020-03-05 18:07   ` Brian Foster
2020-03-04  7:53 ` [PATCH 09/11] xfs: merge unmount record write iclog cleanup Dave Chinner
2020-03-04 15:53   ` Christoph Hellwig
2020-03-04 21:38     ` Dave Chinner
2020-03-05 15:27       ` Christoph Hellwig
2020-03-05 18:08   ` Brian Foster
2020-03-04  7:54 ` [PATCH 10/11] xfs: remove some stale comments from the log code Dave Chinner
2020-03-04 15:53   ` Christoph Hellwig
2020-03-05 18:08   ` Brian Foster
2020-03-04  7:54 ` [PATCH 11/11] xfs: kill XLOG_TIC_INITED Dave Chinner
2020-03-04 15:54   ` Christoph Hellwig
2020-03-05 18:08   ` Brian Foster
2020-03-05 16:05 ` [PATCH 00/11] xfs: clean up log tickets and record writes Christoph Hellwig
2020-03-05 21:42   ` Dave Chinner
2020-03-06  1:03     ` Christoph Hellwig

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=20200304075401.21558-1-david@fromorbit.com \
    --to=david@fromorbit.com \
    --cc=linux-xfs@vger.kernel.org \
    /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.