xfs
[Top] [All Lists]

Re: [PATCH] xfs: lock for removing item from cil->xc_cil in xlog_cil_pus

To: Brian Foster <bfoster@xxxxxxxxxx>, Xu Wang <xuw@xxxxxxxxxx>
Subject: Re: [PATCH] xfs: lock for removing item from cil->xc_cil in xlog_cil_push
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Fri, 10 Oct 2014 23:19:36 -0500
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20141010120754.GB18297@xxxxxxxxxxxxxxx>
References: <929991500.42327290.1412926226461.JavaMail.zimbra@xxxxxxxxxx> <2090211370.42327532.1412926306812.JavaMail.zimbra@xxxxxxxxxx> <20141010120754.GB18297@xxxxxxxxxxxxxxx>
On 10/10/14 7:07 AM, Brian Foster wrote:
 
> Isn't this fixed by the following commit?
> 
> 8af3dcd3 xfs: xlog_cil_force_lsn doesn't always wait correctly
> 
> With that patch, xlog_cil_push() adds the ctx to the committing list
> before draining the ctx and updating the current sequence number.
> xlog_cil_force_lsn() walks the committing list and checks the sequence
> number and ctx list, all under the push lock.
> 
> That means that xlog_cil_force_lsn() should see the ctx either on the
> committing list and wait for it (commit_lsn != NULL), or not on the
> committing list at all. If it's not on the committing list yet,
> xlog_cil_push() won't have either drained the ctx or updated the
> sequence number, as it adds to the committing list first and that
> requires the push lock (which xlog_cil_force_lsn() holds and doesn't
> release until after the restart check).
> 
> Am I missing something? Do you reproduce a problem with the latest tree
> that includes the above patch?

We clarified that Dave's patch does fix the problem; this was a Red Hat
bug, and I hadn't put the upstream commit into it yet, sorry about that.

George, thanks for working on it!

-Eric

> Brian

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