From: David Teigland <teigland@redhat.com>

An extra refcount was being left on devices.

Signed-off-by: Patrick Caulfield <pcaulfie@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 drivers/dlm/device.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff -puN drivers/dlm/device.c~dlm-device-interface-fix-device-refcount drivers/dlm/device.c
--- devel/drivers/dlm/device.c~dlm-device-interface-fix-device-refcount	2005-07-16 13:35:51.000000000 -0700
+++ devel-akpm/drivers/dlm/device.c	2005-07-16 13:35:51.000000000 -0700
@@ -449,8 +449,8 @@ static int dlm_open(struct inode *inode,
 	spin_lock_init(&f->fi_ast_lock);
 	init_waitqueue_head(&f->fi_wait);
 	f->fi_ls = lsinfo;
-	atomic_set(&f->fi_refcnt, 1);
 	f->fi_flags = 0;
+	get_file_info(f);
 	set_bit(1, &f->fi_flags);
 
 	file->private_data = f;
@@ -602,6 +602,7 @@ static int dlm_close(struct inode *inode
 		}
 	}
 	up(&user_ls_lock);
+	put_file_info(f);
 
 	/* Restore signals */
 	sigprocmask(SIG_SETMASK, &tmpsig, NULL);
_