aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/locking/dlm/mount.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2008-06-04 10:06:21 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2008-06-27 04:39:50 -0400
commit31fcba00fe7145527b159f8893ec6c9cc61309fd (patch)
tree6fef1dc1b20166b881356159d9ac8208a9335978 /fs/gfs2/locking/dlm/mount.c
parentb2cad26cfc2091050574a460b304ed103a35dbda (diff)
[GFS2] Remove all_list from lock_dlm
I discovered that we had a list onto which every lock_dlm lock was being put. Its only function was to discover whether we'd got any locks left after umount. Since there was already a counter for that purpose as well, I removed the list. The saving is sizeof(struct list_head) per glock - well worth having. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/locking/dlm/mount.c')
-rw-r--r--fs/gfs2/locking/dlm/mount.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/fs/gfs2/locking/dlm/mount.c b/fs/gfs2/locking/dlm/mount.c
index fa31c54c2e67..947e70673eec 100644
--- a/fs/gfs2/locking/dlm/mount.c
+++ b/fs/gfs2/locking/dlm/mount.c
@@ -28,7 +28,6 @@ static struct gdlm_ls *init_gdlm(lm_callback_t cb, struct gfs2_sbd *sdp,
28 spin_lock_init(&ls->async_lock); 28 spin_lock_init(&ls->async_lock);
29 INIT_LIST_HEAD(&ls->delayed); 29 INIT_LIST_HEAD(&ls->delayed);
30 INIT_LIST_HEAD(&ls->submit); 30 INIT_LIST_HEAD(&ls->submit);
31 INIT_LIST_HEAD(&ls->all_locks);
32 init_waitqueue_head(&ls->thread_wait); 31 init_waitqueue_head(&ls->thread_wait);
33 init_waitqueue_head(&ls->wait_control); 32 init_waitqueue_head(&ls->wait_control);
34 ls->jid = -1; 33 ls->jid = -1;
@@ -173,7 +172,6 @@ out:
173static void gdlm_unmount(void *lockspace) 172static void gdlm_unmount(void *lockspace)
174{ 173{
175 struct gdlm_ls *ls = lockspace; 174 struct gdlm_ls *ls = lockspace;
176 int rv;
177 175
178 log_debug("unmount flags %lx", ls->flags); 176 log_debug("unmount flags %lx", ls->flags);
179 177
@@ -187,9 +185,7 @@ static void gdlm_unmount(void *lockspace)
187 gdlm_kobject_release(ls); 185 gdlm_kobject_release(ls);
188 dlm_release_lockspace(ls->dlm_lockspace, 2); 186 dlm_release_lockspace(ls->dlm_lockspace, 2);
189 gdlm_release_threads(ls); 187 gdlm_release_threads(ls);
190 rv = gdlm_release_all_locks(ls); 188 BUG_ON(ls->all_locks_count);
191 if (rv)
192 log_info("gdlm_unmount: %d stray locks freed", rv);
193out: 189out:
194 kfree(ls); 190 kfree(ls);
195} 191}