[PATCH] knfsd: change nlm_file to use a hlist

This changes struct nlm_file and the nlm_files hash table to use a hlist
instead of the home-grown lists.

This allows us to remove f_hash which was only used to find the right hash
chain to delete an entry from.

It also increases the size of the nlm_files hash table from 32 to 128.

Signed-off-by: Olaf Kirch <okir@suse.de>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Olaf Kirch
2006-10-04 02:15:58 -07:00
committed by Linus Torvalds
parent 68a2d76cea
commit 07ba806351
2 changed files with 17 additions and 28 deletions

View File

@@ -105,7 +105,7 @@ struct nlm_rqst {
* an NFS client.
*/
struct nlm_file {
struct nlm_file * f_next; /* linked list */
struct hlist_node f_list; /* linked list */
struct nfs_fh f_handle; /* NFS file handle */
struct file * f_file; /* VFS file pointer */
struct nlm_share * f_shares; /* DOS shares */
@@ -113,7 +113,6 @@ struct nlm_file {
unsigned int f_locks; /* guesstimate # of locks */
unsigned int f_count; /* reference count */
struct semaphore f_sema; /* avoid concurrent access */
int f_hash; /* hash of f_handle */
};
/*