XFS write cache flush policy
Dave Chinner
david at fromorbit.com
Tue Dec 18 14:29:14 CST 2012
On Tue, Dec 18, 2012 at 01:34:38AM +0100, Matthias Schniedermeyer wrote:
> On 18.12.2012 10:24, Dave Chinner wrote:
> >
> > diff --git a/fs/xfs/xfs_sync.c b/fs/xfs/xfs_sync.c
> > index 9500caf..7bf85e8 100644
> > --- a/fs/xfs/xfs_sync.c
> > +++ b/fs/xfs/xfs_sync.c
> > @@ -400,7 +400,7 @@ xfs_sync_worker(
> > * cancel_delayed_work_sync on this work queue before tearing down
> > * the ail and the log in xfs_log_unmount.
> > */
> > - if (!(mp->m_super->s_flags & MS_ACTIVE) &&
> > + if ((mp->m_super->s_flags & MS_ACTIVE) &&
> > !(mp->m_flags & XFS_MOUNT_RDONLY)) {
> > /* dgc: errors ignored here */
> > if (mp->m_super->s_writers.frozen == SB_UNFROZEN &&
> >
> >
>
> This also appears to fix the other case.
> When the activity ceases sharply and the log is still not written after
> minutes.
>
> After writing 10 files, waiting a minute, yanking ... all 10 files where
> there.
> So the OP-case MIGHT have been this same error.
> But that's the amateuer talking again.
I kinda deserved that, didn't I? ;)
But now I understand the problem, I agree with you that the OP was
probably seeing the same bug. I understand the cause, and can
explain exactly how it would cause both sets of symptoms reported...
Cheers,
Dave.
--
Dave Chinner
david at fromorbit.com
More information about the xfs
mailing list