--- /dev/null
+From: David Teigland <teigland@redhat.com>
+commit f9f2ed486256f3480e4d499ffd6bf730bc5e6fc6
+Author: David Teigland <teigland@redhat.com>
+Date: Thu Sep 4 12:51:20 2008 -0500
+Subject: dlm: remove bkl
+
+ BLK from recent pushdown is not needed.
+
+Signed-off-by: David Teigland <teigland@redhat.com>
+Signed-off-by: Coly Li <coly.li@suse.de>
+
+diff --git a/fs/dlm/user.c b/fs/dlm/user.c
+index 81627b5..b3832c6 100644
+--- a/fs/dlm/user.c
++++ b/fs/dlm/user.c
+@@ -15,7 +15,6 @@
+ #include <linux/poll.h>
+ #include <linux/signal.h>
+ #include <linux/spinlock.h>
+-#include <linux/smp_lock.h>
+ #include <linux/dlm.h>
+ #include <linux/dlm_device.h>
+
+@@ -637,17 +636,13 @@ static int device_open(struct inode *inode, struct file *file)
+ struct dlm_user_proc *proc;
+ struct dlm_ls *ls;
+
+- lock_kernel();
+ ls = dlm_find_lockspace_device(iminor(inode));
+- if (!ls) {
+- unlock_kernel();
++ if (!ls)
+ return -ENOENT;
+- }
+
+ proc = kzalloc(sizeof(struct dlm_user_proc), GFP_KERNEL);
+ if (!proc) {
+ dlm_put_lockspace(ls);
+- unlock_kernel();
+ return -ENOMEM;
+ }
+
+@@ -659,7 +654,6 @@ static int device_open(struct inode *inode, struct file *file)
+ spin_lock_init(&proc->locks_spin);
+ init_waitqueue_head(&proc->wait);
+ file->private_data = proc;
+- unlock_kernel();
+
+ return 0;
+ }
+@@ -914,7 +908,6 @@ int dlm_user_daemon_available(void)
+
+ static int ctl_device_open(struct inode *inode, struct file *file)
+ {
+- cycle_kernel_lock();
+ file->private_data = NULL;
+ return 0;
+ }