Commit Graph

10 Commits

Author SHA1 Message Date
enami e3b99073fb Previous code ususally works since compiler won't put gap between
those struct members but there is no reason to rely on that.
While here, I rewrite the loop using an usual idiom.  It shaves
both source and object code.
2009-02-06 23:56:26 +00:00
reinoud 2b4d7aaa9a When reusing a directory free space slot and thus finding it on the free space
list, do free it back into the pool!
2008-12-28 17:11:26 +00:00
reinoud 54977cd016 Clarify the dirhash locking protocol and remove unnessiary #ifdef DEBUG
flag.
2008-10-31 16:04:59 +00:00
reinoud a2a624b32c Protect the dirhash_queue when purging hashed directories on memory
overflow situations.
2008-10-31 15:48:39 +00:00
reinoud afc9c8a1c7 Remove old KASSERTS that were commented out. Since the dirhash structure is
considered part of the vnode/*_node structure it sure has to be locked or
the code using it is playing russian roulette.
2008-10-31 15:13:55 +00:00
reinoud 4ea6ec31b8 Cleanup dirhash and make use of the standard hash32_strn() instead of the
handcrafted one.

Note it uses hash32_strn() since arguments can be passed from namei
arguments and thus don't have to be null terminated.
2008-10-31 15:01:12 +00:00
reinoud a41684bca5 Remove old sysctl numbers not used anymore. 2008-10-30 17:19:18 +00:00
reinoud d7a1bfe693 Make some variables static that ought to have been from the start. 2008-10-30 16:41:18 +00:00
reinoud 02fc60fc46 Add sysctl's using CTL_CREATE to query and set the memory use of the
generic vfs dirhash code.
2008-10-30 16:17:53 +00:00
reinoud fec4bb5bba Add generic FS agnostic directory hashing support. Currently only in use by
UDF. Future users could be msdosfs, ufs, nilfs2 (when ready), cd9660 etc.

Note that its not the same as UFS's DIRHASH support; UFS would need a good
cleanup/splitout of directory operations to adopt to this new directory
hashing support since most directory operations are interweaved with the
vnops itself. This is a TODO.
2008-09-27 13:01:07 +00:00