+++ /dev/null
-From: David Teigland <teigland@redhat.com>
-commit 03339696314fffb95dafb349b84243358e945ce6
-Author: David Teigland <teigland@redhat.com>
-Date: Mon Dec 8 17:14:10 2008 -0600
-Subject: dlm: remove extra blocking callback check
-
- Just before delivering a blocking callback (bast), the dlm_astd
- thread checks again that the granted mode of the lkb actually
- blocks the mode requested by the bast. The idea behind this was
- originally that the granted mode may have changed since the bast
- was queued, making the callback now unnecessary. Reasons for
- removing this extra check are:
- - dlm_astd doesn't lock the rsb before reading the lkb grmode, so
- it's not technically safe (this removes the long standing FIXME)
- - after running some tests, it doesn't appear the check ever actually
- eliminates a bast
- - delivering an unnecessary blocking callback isn't a bad thing and
- can happen anyway
-
-Signed-off-by: David Teigland <teigland@redhat.com>
-Signed-off-by: Coly Li <coly.li@suse.de>
-
-diff --git a/fs/dlm/ast.c b/fs/dlm/ast.c
-index 30c11f3..09b167d 100644
---- a/fs/dlm/ast.c
-+++ b/fs/dlm/ast.c
-@@ -89,13 +89,8 @@ static void process_asts(void)
- if ((type & AST_COMP) && cast)
- cast(lkb->lkb_astparam);
-
-- /* FIXME: Is it safe to look at lkb_grmode here
-- without doing a lock_rsb() ?
-- Look at other checks in v1 to avoid basts. */
--
- if ((type & AST_BAST) && bast)
-- if (!dlm_modes_compat(lkb->lkb_grmode, bmode))
-- bast(lkb->lkb_astparam, bmode);
-+ bast(lkb->lkb_astparam, bmode);
-
- /* this removes the reference added by dlm_add_ast
- and may result in the lkb being freed */