Home | History | Annotate | Download | only in kern
History log of /src/sys/kern/vfs_dirhash.c
RevisionDateAuthorComments
 1.16  07-Dec-2024  riastradh vfs(9): Sprinkle KNF.

No functional change intended.
 1.15  28-Sep-2022  reinoud branches: 1.15.10;
Remove reference to udf_node in comment; it is FS agnostic.
 1.14  21-Aug-2021  andvar s/helt/held+s/eroneously/erroneously/+s/splitted/split/+s/recommented/recommended/
 1.13  10-Feb-2019  christos Introduce PR_ZERO to avoid open-coding memset()s everywhere. OK riastradh@.
 1.12  05-Sep-2014  matt branches: 1.12.20;
Don't next structure and enum definitions.
Don't use C++ keywords new, try, class, private, etc.
 1.11  07-Jul-2013  reinoud Extend generic dirhash to include an empty directory checker based on
the knowledge the dirhash has. This is done by keeping a count of the current
hash entries.
 1.10  06-Feb-2009  enami branches: 1.10.4; 1.10.16; 1.10.26; 1.10.30;
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.
 1.9  28-Dec-2008  reinoud When reusing a directory free space slot and thus finding it on the free space
list, do free it back into the pool!
 1.8  31-Oct-2008  reinoud Clarify the dirhash locking protocol and remove unnessiary #ifdef DEBUG
flag.
 1.7  31-Oct-2008  reinoud Protect the dirhash_queue when purging hashed directories on memory
overflow situations.
 1.6  31-Oct-2008  reinoud 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.
 1.5  31-Oct-2008  reinoud 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.
 1.4  30-Oct-2008  reinoud branches: 1.4.2;
Remove old sysctl numbers not used anymore.
 1.3  30-Oct-2008  reinoud Make some variables static that ought to have been from the start.
 1.2  30-Oct-2008  reinoud Add sysctl's using CTL_CREATE to query and set the memory use of the
generic vfs dirhash code.
 1.1  27-Sep-2008  reinoud branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
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.
 1.1.8.2  03-Mar-2009  skrll Sync with HEAD.
 1.1.8.1  19-Jan-2009  skrll Sync with HEAD.
 1.1.6.3  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.1.6.2  19-Oct-2008  haad Sync with HEAD.
 1.1.6.1  27-Sep-2008  haad file vfs_dirhash.c was added on branch haad-dm on 2008-10-19 22:17:29 +0000
 1.1.4.2  10-Oct-2008  skrll Sync with HEAD.
 1.1.4.1  27-Sep-2008  skrll file vfs_dirhash.c was added on branch wrstuden-revivesa on 2008-10-10 22:34:14 +0000
 1.1.2.3  17-Jan-2009  mjf Sync with HEAD.
 1.1.2.2  05-Oct-2008  mjf Sync with HEAD.
 1.1.2.1  27-Sep-2008  mjf file vfs_dirhash.c was added on branch mjf-devfs2 on 2008-10-05 20:11:32 +0000
 1.4.2.6  03-May-2009  bouyer Pull up following revision(s) (requested by martin in ticket #732):
sys/kern/vfs_dirhash.c: revision 1.10
PR port-vax/41315:
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.
 1.4.2.5  06-Jan-2009  snj branches: 1.4.2.5.4;
Pull up following revision(s) (requested by reinoud in ticket #212):
sys/kern/vfs_dirhash.c: revision 1.9
When reusing a directory free space slot and thus finding it on the free space
list, do free it back into the pool!
 1.4.2.4  02-Nov-2008  snj Pull up following revision(s) (requested by reinoud in ticket #5):
sys/kern/vfs_dirhash.c: revision 1.8
Clarify the dirhash locking protocol and remove unnessiary #ifdef DEBUG
flag.
 1.4.2.3  02-Nov-2008  snj Pull up following revision(s) (requested by reinoud in ticket #5):
sys/kern/vfs_dirhash.c: revision 1.7
Protect the dirhash_queue when purging hashed directories on memory
overflow situations.
 1.4.2.2  02-Nov-2008  snj Pull up following revision(s) (requested by reinoud in ticket #5):
sys/kern/vfs_dirhash.c: revision 1.6
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.
 1.4.2.1  02-Nov-2008  snj Pull up following revision(s) (requested by reinoud in ticket #5):
sys/kern/vfs_dirhash.c: revision 1.5
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.
 1.4.2.5.4.1  21-Apr-2010  matt sync to netbsd-5
 1.10.30.1  28-Aug-2013  rmind sync with head
 1.10.26.2  03-Dec-2017  jdolecek update from HEAD
 1.10.26.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.16.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.10.4.2  04-May-2009  yamt sync with head.
 1.10.4.1  06-Feb-2009  yamt file vfs_dirhash.c was added on branch yamt-nfs-mp on 2009-05-04 08:13:49 +0000
 1.12.20.1  10-Jun-2019  christos Sync with HEAD
 1.15.10.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed