All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] xfs: clean up log tickets and record writes
@ 2020-03-04  7:53 Dave Chinner
  2020-03-04  7:53 ` [PATCH 01/11] xfs: don't try to write a start record into every iclog Dave Chinner
                   ` (11 more replies)
  0 siblings, 12 replies; 44+ messages in thread
From: Dave Chinner @ 2020-03-04  7:53 UTC (permalink / raw)
  To: linux-xfs

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


^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2020-03-24 12:37 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-04  7:53 [PATCH 00/11] xfs: clean up log tickets and record writes Dave Chinner
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

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.