lkml.org 
[lkml]   [2012]   [Nov]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [ 64/66] GFS2: Test bufdata with buffer locked and gfs2_log_lock held
From
Date
On Wed, 2012-11-14 at 20:11 -0800, Greg Kroah-Hartman wrote:
> 3.6-stable review patch. If anyone has any objections, please let me know.
>
> ------------------
>
> From: Benjamin Marzinski <bmarzins@redhat.com>
>
> commit 96e5d1d3adf56f1c7eeb07258f6a1a0a7ae9c489 upstream.
>
> In gfs2_trans_add_bh(), gfs2 was testing if a there was a bd attached to the
> buffer without having the gfs2_log_lock held. It was then assuming it would
> stay attached for the rest of the function. However, without either the log
> lock being held of the buffer locked, __gfs2_ail_flush() could detach bd at any
> time. This patch moves the locking before the test. If there isn't a bd
> already attached, gfs2 can safely allocate one and attach it before locking.
> There is no way that the newly allocated bd could be on the ail list,
> and thus no way for __gfs2_ail_flush() to detach it.
>
> Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[...]

Is this needed for any earlier versions? It looks applicable to 3.2
(with minor changes).

Ben.

--
Ben Hutchings
Never attribute to conspiracy what can adequately be explained by stupidity.
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2012-11-25 15:01    [W:0.333 / U:0.240 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site