[DLM] move kmap to after spin_unlock

Doing the kmap() while holding the spinlock was causing recursive spinlock
problems.  It seems the kmap was scheduling, although there was no warning
as I'd expect.  Patrick, do we need locking around the kmap?

Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
This commit is contained in:
David Teigland 2006-08-10 13:31:23 -05:00 committed by Steven Whitehouse
parent 8872187780
commit fcc8abc8d4

View File

@ -934,11 +934,11 @@ static int send_to_sock(struct nodeinfo *ni)
break;
e = list_entry(ni->writequeue.next, struct writequeue_entry,
list);
kmap(e->page);
len = e->len;
offset = e->offset;
BUG_ON(len == 0 && e->users == 0);
spin_unlock(&ni->writequeue_lock);
kmap(e->page);
ret = 0;
if (len) {