From: David Teigland Date: Fri, 4 Aug 2006 21:19:20 +0000 (-0500) Subject: [GFS2] match plock result with correct request X-Git-Tag: v2.6.19-rc1~32^2~111 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=08eac93a689ca05c7b7413f6d362c7d38b5fd5b1;p=pandora-kernel.git [GFS2] match plock result with correct request When the result of a posix lock request is read it needs to be matched up with the correct waiting request. The owner field needs to be used in the comparison since more than one process may be waiting for locks on the same file. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse --- diff --git a/fs/gfs2/locking/dlm/plock.c b/fs/gfs2/locking/dlm/plock.c index e5b11f0688f6..1acb2519f439 100644 --- a/fs/gfs2/locking/dlm/plock.c +++ b/fs/gfs2/locking/dlm/plock.c @@ -232,7 +232,8 @@ static ssize_t dev_write(struct file *file, const char __user *u, size_t count, spin_lock(&ops_lock); list_for_each_entry(op, &recv_list, list) { if (op->info.fsid == info.fsid && - op->info.number == info.number) { + op->info.number == info.number && + op->info.owner == info.owner) { list_del_init(&op->list); found = 1; op->done = 1;