diff options
author | David Teigland <teigland@redhat.com> | 2012-05-10 10:18:07 -0500 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2012-07-16 14:16:19 -0500 |
commit | c04fecb4d9f7753e0cbff7edd03ec68f8721cdce (patch) | |
tree | ecd82017d49c7bb03b96a8ad1eb4e9a5bb84409a /fs/dlm/dir.h | |
parent | ecc728467fb0c3e350b57fc66ed7585c15be50f5 (diff) | |
download | op-kernel-dev-c04fecb4d9f7753e0cbff7edd03ec68f8721cdce.zip op-kernel-dev-c04fecb4d9f7753e0cbff7edd03ec68f8721cdce.tar.gz |
dlm: use rsbtbl as resource directory
Remove the dir hash table (dirtbl), and use
the rsb hash table (rsbtbl) as the resource
directory. It has always been an unnecessary
duplication of information.
This improves efficiency by using a single rsbtbl
lookup in many cases where both rsbtbl and dirtbl
lookups were needed previously.
This eliminates the need to handle cases of rsbtbl
and dirtbl being out of sync.
In many cases there will be memory savings because
the dir hash table no longer exists.
Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm/dir.h')
-rw-r--r-- | fs/dlm/dir.h | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/fs/dlm/dir.h b/fs/dlm/dir.h index 0b0eb12..4175063 100644 --- a/fs/dlm/dir.h +++ b/fs/dlm/dir.h @@ -14,15 +14,10 @@ #ifndef __DIR_DOT_H__ #define __DIR_DOT_H__ - int dlm_dir_nodeid(struct dlm_rsb *rsb); int dlm_hash2nodeid(struct dlm_ls *ls, uint32_t hash); -void dlm_dir_remove_entry(struct dlm_ls *ls, int nodeid, char *name, int len); -void dlm_dir_clear(struct dlm_ls *ls); -void dlm_clear_free_entries(struct dlm_ls *ls); +void dlm_recover_dir_nodeid(struct dlm_ls *ls); int dlm_recover_directory(struct dlm_ls *ls); -int dlm_dir_lookup(struct dlm_ls *ls, int nodeid, char *name, int namelen, - int *r_nodeid); void dlm_copy_master_names(struct dlm_ls *ls, char *inbuf, int inlen, char *outbuf, int outlen, int nodeid); |