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@xxxxxxxxxx> 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