summaryrefslogtreecommitdiffstats
path: root/fs/dlm/lock.h
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2012-03-08 12:37:12 -0600
committerDavid Teigland <teigland@redhat.com>2012-03-08 14:46:30 -0600
commit7210cb7a72a22303cdb225bd1aea28697a17bbae (patch)
treeeb303df3d35d52080309d139c1d26edcfab1e670 /fs/dlm/lock.h
parent192cfd58774b4d17b2fe8bdc77d89c2ef4e0591d (diff)
downloadop-kernel-dev-7210cb7a72a22303cdb225bd1aea28697a17bbae.zip
op-kernel-dev-7210cb7a72a22303cdb225bd1aea28697a17bbae.tar.gz
dlm: fix slow rsb search in dir recovery
The function used to find an rsb during directory recovery was searching the single linear list of rsb's. This wasted a lot of time compared to using the standard hash table to find the rsb. Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm/lock.h')
-rw-r--r--fs/dlm/lock.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/dlm/lock.h b/fs/dlm/lock.h
index 265017a..1a25530 100644
--- a/fs/dlm/lock.h
+++ b/fs/dlm/lock.h
@@ -28,6 +28,9 @@ void dlm_scan_waiters(struct dlm_ls *ls);
void dlm_scan_timeout(struct dlm_ls *ls);
void dlm_adjust_timeouts(struct dlm_ls *ls);
+int dlm_search_rsb_tree(struct rb_root *tree, char *name, int len,
+ unsigned int flags, struct dlm_rsb **r_ret);
+
int dlm_purge_locks(struct dlm_ls *ls);
void dlm_purge_mstcpy_locks(struct dlm_rsb *r);
void dlm_grant_after_purge(struct dlm_ls *ls);
OpenPOWER on IntegriCloud