aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/incore.h
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2011-06-15 05:29:37 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2011-07-15 04:31:48 -0400
commit17d539f0499fa2c0321b7c260831cca2bb36d119 (patch)
tree28b960ad670a0112d45afbab120f855b8e95b146 /fs/gfs2/incore.h
parent5dcd07b9f39ca3e9be5bcc387d193fc0674e1c81 (diff)
GFS2: Cache dir hash table in a contiguous buffer
This patch adds a cache for the hash table to the directory code in order to help simplify the way in which the hash table is accessed. This is intended to be a first step towards introducing some performance improvements in the directory code. There are two follow ups that I'm hoping to see fairly shortly. One is to simplify the hash table reading code now that we always read the complete hash table, whether we want one entry or all of them. The other is to introduce readahead on the heads of the hash chains which are referred to from the table. The hash table is a maximum of 128k in size, so it is not worth trying to read it in small chunks. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/incore.h')
-rw-r--r--fs/gfs2/incore.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 81206e70cbf6..24cd55f60e60 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -285,6 +285,7 @@ struct gfs2_inode {
285 u64 i_goal; /* goal block for allocations */ 285 u64 i_goal; /* goal block for allocations */
286 struct rw_semaphore i_rw_mutex; 286 struct rw_semaphore i_rw_mutex;
287 struct list_head i_trunc_list; 287 struct list_head i_trunc_list;
288 __be64 *i_hash_cache;
288 u32 i_entries; 289 u32 i_entries;
289 u32 i_diskflags; 290 u32 i_diskflags;
290 u8 i_height; 291 u8 i_height;