Re: [PATCH 05/13] xfs: sync work is now only periodic log work

Dave Chinner
2012-09-05T04:34:20Z

On Tue, Sep 04, 2012 at 01:57:38PM -0500, Mark Tinguely wrote:
> On 08/30/12 07:00, Dave Chinner wrote:
> >From: Dave Chinner<dchinner@redhat.com>
> >
> >The only thing the periodic sync work does now is flush the AIL and
> >idle the log. These are really functions of the log code, so move
> >the work to xfs_log.c and rename it appropriately.
> >
> >The only wart that this leaves behind is the xfssyncd_centisecs
> >sysctl, otherwise the xfssyncd is dead. Clean up any comments that
> >related to xfssyncd to reflect it's passing.
> >
> >Signed-off-by: Dave Chinner<dchinner@redhat.com>
> >---
>
> ...
>
> >
> >diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c
> >index 7f4f937..598f279 100644
> >--- a/fs/xfs/xfs_log.c
> >+++ b/fs/xfs/xfs_log.c
> >@@ -34,6 +34,7 @@
> > #include "xfs_dinode.h"
> > #include "xfs_inode.h"
> > #include "xfs_trace.h"
> >+#include "xfs_fsops.h"
> >
> > kmem_zone_t *xfs_log_ticket_zone;
> >
> >@@ -698,6 +699,8 @@ xfs_log_mount_finish(xfs_mount_t *mp)
> > ASSERT(mp->m_flags& XFS_MOUNT_RDONLY);
> > }
> >
>
> Looking at this closer, shouldn't there be a check for recovery
> failure. If it did, the mount will stop:
>
> if (!error)
>
> >+ xfs_log_work_queue(mp);
> >+
> > return error;

Probably should, but the error handling for a xfs_log_mount_finish()
failure calls xfs_log_unmount() and that shuts down the worker
correctly even if this failure occurs.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com