]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - src/patches/suse-2.6.27.25/patches.fixes/ocfs2-fix-wake_up-in-unlock_ast.patch
Updated xen patches taken from suse.
[people/teissler/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.fixes / ocfs2-fix-wake_up-in-unlock_ast.patch
1 From: David Teigland <teigland@redhat.com>
2 Date: Mon, 17 Nov 2008 12:28:48 -0600
3 Subject: ocfs2: fix wake_up in unlock_ast
4
5 In ocfs2_unlock_ast(), call wake_up() on lockres before releasing
6 the spin lock on it. As soon as the spin lock is released, the
7 lockres can be freed.
8
9 Signed-off-by: David Teigland <teigland@redhat.com>
10 Signed-off-by: Mark Fasheh <mfasheh@suse.com>
11 ---
12 fs/ocfs2/dlmglue.c | 3 +--
13 1 files changed, 1 insertions(+), 2 deletions(-)
14
15 Index: linux-2.6.27-ocfs2/fs/ocfs2/dlmglue.c
16 ===================================================================
17 --- linux-2.6.27-ocfs2.orig/fs/ocfs2/dlmglue.c
18 +++ linux-2.6.27-ocfs2/fs/ocfs2/dlmglue.c
19 @@ -2841,9 +2841,8 @@ static void ocfs2_unlock_ast(void *opaqu
20
21 lockres_clear_flags(lockres, OCFS2_LOCK_BUSY);
22 lockres->l_unlock_action = OCFS2_UNLOCK_INVALID;
23 - spin_unlock_irqrestore(&lockres->l_lock, flags);
24 -
25 wake_up(&lockres->l_event);
26 + spin_unlock_irqrestore(&lockres->l_lock, flags);
27
28 mlog_exit_void();
29 }