summaryrefslogtreecommitdiff
path: root/fs/dlm/dlm_internal.h
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2007-01-15 16:34:52 (GMT)
committerSteven Whitehouse <swhiteho@redhat.com>2007-02-05 18:36:55 (GMT)
commita1bc86e6bddd34362ca08a3a4d898eb4b5c15215 (patch)
tree92b30f8f9400c5a1b71a2e3a17397b9d0b2cc2f2 /fs/dlm/dlm_internal.h
parent1d6e8131cf0064ef5ab5f3411a82b800afbfadee (diff)
downloadlinux-fsl-qoriq-a1bc86e6bddd34362ca08a3a4d898eb4b5c15215.tar.xz
[DLM] fix user unlocking
When a user process exits, we clear all the locks it holds. There is a problem, though, with locks that the process had begun unlocking before it exited. We couldn't find the lkb's that were in the process of being unlocked remotely, to flag that they are DEAD. To solve this, we move lkb's being unlocked onto a new list in the per-process structure that tracks what locks the process is holding. We can then go through this list to flag the necessary lkb's when clearing locks for a process when it exits. Signed-off-by: David Teigland <teigland@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/dlm/dlm_internal.h')
-rw-r--r--fs/dlm/dlm_internal.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/dlm/dlm_internal.h b/fs/dlm/dlm_internal.h
index ee993c5c..61d9320 100644
--- a/fs/dlm/dlm_internal.h
+++ b/fs/dlm/dlm_internal.h
@@ -526,6 +526,7 @@ struct dlm_user_proc {
spinlock_t asts_spin;
struct list_head locks;
spinlock_t locks_spin;
+ struct list_head unlocking;
wait_queue_head_t wait;
};