On Wed, May 20, 2020 at 05:13:39PM +1000, Dave Chinner wrote: > > > @@ -883,9 +885,7 @@ xfs_quiesce_attr( > > > { > > > int error = 0; > > > > > > - /* wait for all modifications to complete */ > > > - while (atomic_read(&mp->m_active_trans) > 0) > > > - delay(100); > > > + cancel_delayed_work_sync(&mp->m_log->l_work); > > > > Shouldn't the cancel_delayed_work_sync for l_work in xfs_log_quiesce > > be removed now given that we've already cancelled it here? > > No, because every other caller of xfs_log_quiesce() requires the > work to be cancelled before the log is quiesced. The only other caller is xfs_log_unmount, which could grow it. But I guess an extra cancel isn't harmful in the end.