On Thu, Jan 21, 2021 at 10:45:19AM -0500, Brian Foster wrote: > The log covering helper checks whether the filesystem is writable to > determine whether to cover the log. The helper is currently only > called from the background log worker. In preparation to reuse the > helper from freezing contexts, lift the check into xfs_log_worker(). > > Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> > Reviewed-by: Allison Henderson <allison.henderson@xxxxxxxxxx> > Reviewed-by: Christoph Hellwig <hch@xxxxxx> Looks good to me, Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > --- > fs/xfs/xfs_log.c | 18 ++++++++---------- > 1 file changed, 8 insertions(+), 10 deletions(-) > > diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c > index b445e63cbc3c..7280d99aa19c 100644 > --- a/fs/xfs/xfs_log.c > +++ b/fs/xfs/xfs_log.c > @@ -1049,14 +1049,12 @@ xfs_log_space_wake( > * there's no point in running a dummy transaction at this point because we > * can't start trying to idle the log until both the CIL and AIL are empty. > */ > -static int > -xfs_log_need_covered(xfs_mount_t *mp) > +static bool > +xfs_log_need_covered( > + struct xfs_mount *mp) > { > - struct xlog *log = mp->m_log; > - int needed = 0; > - > - if (!xfs_fs_writable(mp, SB_FREEZE_WRITE)) > - return 0; > + struct xlog *log = mp->m_log; > + bool needed = false; > > if (!xlog_cil_empty(log)) > return 0; > @@ -1074,14 +1072,14 @@ xfs_log_need_covered(xfs_mount_t *mp) > if (!xlog_iclogs_empty(log)) > break; > > - needed = 1; > + needed = true; > if (log->l_covered_state == XLOG_STATE_COVER_NEED) > log->l_covered_state = XLOG_STATE_COVER_DONE; > else > log->l_covered_state = XLOG_STATE_COVER_DONE2; > break; > default: > - needed = 1; > + needed = true; > break; > } > spin_unlock(&log->l_icloglock); > @@ -1271,7 +1269,7 @@ xfs_log_worker( > struct xfs_mount *mp = log->l_mp; > > /* dgc: errors ignored - not fatal and nowhere to report them */ > - if (xfs_log_need_covered(mp)) { > + if (xfs_fs_writable(mp, SB_FREEZE_WRITE) && xfs_log_need_covered(mp)) { > /* > * Dump a transaction into the log that contains no real change. > * This is needed to stamp the current tail LSN into the log > -- > 2.26.2 >