xfs
[Top] [All Lists]

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

To: Mark Tinguely <tinguely@xxxxxxx>
Subject: Re: [PATCH 05/13] xfs: sync work is now only periodic log work
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Wed, 5 Sep 2012 14:35:16 +1000
Cc: xfs@xxxxxxxxxxx
In-reply-to: <50464F22.2030308@xxxxxxx>
References: <1346328017-2795-1-git-send-email-david@xxxxxxxxxxxxx> <1346328017-2795-6-git-send-email-david@xxxxxxxxxxxxx> <50464F22.2030308@xxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
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@xxxxxxxxxx>
> >
> >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@xxxxxxxxxx>
> >---
> 
> ...
> 
> >
> >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@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>