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. Finally, to complete what started all this, the XLOG_TIC_INITED flag is removed. A git tree is avaiblable here: git://git.infradead.org/users/hch/xfs.git xlog-ticket-cleanup.4 Gitweb: http://git.infradead.org/users/hch/xfs.git/shortlog/refs/heads/xlog-ticket-cleanup.4 Changes since v3: - pass an explicit need_start_rec to xlog_write() - rename xlog_ticket_done to xfs_log_ticket_ungrant and xlog_ticket_regrant to xfs_log_ticket_regrant - rename xlog_write_done to xlog_commit_record Changes since v2: - fix a commit message typo - move the XLOG_TIC_INITED earlier, and move another hunk to this patch - keep checking for XLOG_FORCED_SHUTDOWN and skip regrants - merge the two patches for refactoring and renaming the log unmount record handling Changes since v1: - taking this over from Dave (for now) as he is still injured, an it interacts closely with my log error handling bits - rebased on top of for-next + the "more log cleanups" series - fix an accounting error in xlog_write - use a bool for the ticket header in xlog_write - add a new patch to split xlog_ticket_done