History log of /openbsd-current/sys/ufs/ufs/ufs_ihash.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.26 19-Oct-2021 semarie

vnode: do not manipulate vnode lock directly

use VOP_LOCK / VOP_UNLOCK wrappers.

VOP_LOCK() is prefered over vn_lock() here in order to keep equivalent code.

ok mpi@ visa@ (as part of larger diff)


Revision tags: OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.25 11-Mar-2021 jsg

spelling


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE
# 1.24 27-May-2018 visa

Drop unnecessary `p' parameter from vget(9).

OK mpi@


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.23 19-Jun-2016 natano

Remove the lockmgr() API. It is only used by filesystems, where it is a
trivial change to use rrw locks instead. All it needs is LK_* defines
for the RW_* flags.

tested by naddy and sthen on package building infrastructure
input and ok jmc mpi tedu


Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.22 14-Mar-2015 jsg

Remove some includes include-what-you-use claims don't
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.

ok tedu@ deraadt@


Revision tags: OPENBSD_5_7_BASE
# 1.21 09-Jan-2015 tedu

rename desiredvnodes to initialvnodes. less of a lie. ok beck deraadt


# 1.20 17-Nov-2014 dlg

apply siphash to the key selection for the ufs inode hash.

ok tedu@


# 1.19 14-Sep-2014 jsg

remove uneeded proc.h includes
ok mpi@ kspillner@


Revision tags: OPENBSD_5_6_BASE
# 1.18 14-Apr-2014 beck

fix potential race where an allocated inode could fail to get added,
noticed by pedro@ in bitrig.
ok philip@ millert@


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.17 30-May-2013 guenther

UFS does't do inode numbers >2^32, so use a smaller type internally,
only using ino_t in the VFS layer APIs: vget, readdir, getattr.

otto wrote the original diff for libsa to keep bootblock from overflowing
ok deraadt@ kettenis@


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.16 19-Jul-2010 deraadt

Not enough OK's, and from the wrong people. You should know how to do
collaborative development by now, Owain


# 1.15 19-Jul-2010 oga

Replace XXXLOCKING comments by me (replacing simple_locks that are the
same thing) with mutexes.

From Gabriel Kihlman (gk AT stacken DOT kth DOT se); thanks!

ok art@ ages ago.


# 1.14 23-Apr-2010 oga

simple_lock -> XXXLOCKING for ufh ihash.

I'm actually 99% sure that these locks are right and could be almost
trivially converted to an IPL_NONE mutex protecting the hashtable. Any
takers?


Revision tags: OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.13 21-Mar-2007 thib

Remove the v_interlock simplelock from the vnode structure.
Zap all calls to simple_lock/unlock() on it (those calls are
#defined away though). Remove the LK_INTERLOCK from the calls
to vn_lock() and cleanup the filesystems wich implement VOP_LOCK().
(by remvoing the v_interlock from there calls to lockmgr()).

ok pedro@, art@, tedu@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.12 19-Nov-2005 pedro

Remove unnecessary lockmgr() archaism that was costing too much in terms
of panics and bugfixes. Access curproc directly, do not expect a process
pointer as an argument. Should fix many "process context required" bugs.
Incentive and okay millert@, okay marc@. Various testing, thanks.


# 1.11 10-Nov-2005 pedro

Use ANSI function declarations and deregister, no binary change.
Diff from Rui Reis <rui@rui.cx>, thanks.


Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.10 26-Dec-2004 miod

Use list and queue macros where applicable to make the code easier to read;
no change in compiler assembly output.


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
# 1.9 02-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE UBC_BASE UBC_SYNC_A UBC_SYNC_B
# 1.8 08-Mar-2001 art

branches: 1.8.6;
indentation


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE SMP_BASE kame_19991208
# 1.7 28-Apr-1999 art

branches: 1.7.4;
zap the newhashinit hack.
Add an extra flag to hashinit telling if it should wait in malloc.
update all calls to hashinit.


Revision tags: OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.6 09-Jan-1998 csapuntz

Prevent double insertions into the inode hash queue
Silently allow removal of inodes that aren't on the hash queues


# 1.5 06-Nov-1997 csapuntz

Updates for VFS Lite 2 + soft update.


Revision tags: OPENBSD_2_2_BASE
# 1.4 06-Oct-1997 deraadt

back out vfs lite2 till after 2.2


# 1.3 06-Oct-1997 csapuntz

VFS Lite2 Changes


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE
# 1.2 27-Feb-1996 niklas

From NetBSD: update to 960217 sources


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.25 11-Mar-2021 jsg

spelling


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE
# 1.24 27-May-2018 visa

Drop unnecessary `p' parameter from vget(9).

OK mpi@


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.23 19-Jun-2016 natano

Remove the lockmgr() API. It is only used by filesystems, where it is a
trivial change to use rrw locks instead. All it needs is LK_* defines
for the RW_* flags.

tested by naddy and sthen on package building infrastructure
input and ok jmc mpi tedu


Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.22 14-Mar-2015 jsg

Remove some includes include-what-you-use claims don't
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.

ok tedu@ deraadt@


Revision tags: OPENBSD_5_7_BASE
# 1.21 09-Jan-2015 tedu

rename desiredvnodes to initialvnodes. less of a lie. ok beck deraadt


# 1.20 17-Nov-2014 dlg

apply siphash to the key selection for the ufs inode hash.

ok tedu@


# 1.19 14-Sep-2014 jsg

remove uneeded proc.h includes
ok mpi@ kspillner@


Revision tags: OPENBSD_5_6_BASE
# 1.18 14-Apr-2014 beck

fix potential race where an allocated inode could fail to get added,
noticed by pedro@ in bitrig.
ok philip@ millert@


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.17 30-May-2013 guenther

UFS does't do inode numbers >2^32, so use a smaller type internally,
only using ino_t in the VFS layer APIs: vget, readdir, getattr.

otto wrote the original diff for libsa to keep bootblock from overflowing
ok deraadt@ kettenis@


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.16 19-Jul-2010 deraadt

Not enough OK's, and from the wrong people. You should know how to do
collaborative development by now, Owain


# 1.15 19-Jul-2010 oga

Replace XXXLOCKING comments by me (replacing simple_locks that are the
same thing) with mutexes.

From Gabriel Kihlman (gk AT stacken DOT kth DOT se); thanks!

ok art@ ages ago.


# 1.14 23-Apr-2010 oga

simple_lock -> XXXLOCKING for ufh ihash.

I'm actually 99% sure that these locks are right and could be almost
trivially converted to an IPL_NONE mutex protecting the hashtable. Any
takers?


Revision tags: OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.13 21-Mar-2007 thib

Remove the v_interlock simplelock from the vnode structure.
Zap all calls to simple_lock/unlock() on it (those calls are
#defined away though). Remove the LK_INTERLOCK from the calls
to vn_lock() and cleanup the filesystems wich implement VOP_LOCK().
(by remvoing the v_interlock from there calls to lockmgr()).

ok pedro@, art@, tedu@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.12 19-Nov-2005 pedro

Remove unnecessary lockmgr() archaism that was costing too much in terms
of panics and bugfixes. Access curproc directly, do not expect a process
pointer as an argument. Should fix many "process context required" bugs.
Incentive and okay millert@, okay marc@. Various testing, thanks.


# 1.11 10-Nov-2005 pedro

Use ANSI function declarations and deregister, no binary change.
Diff from Rui Reis <rui@rui.cx>, thanks.


Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.10 26-Dec-2004 miod

Use list and queue macros where applicable to make the code easier to read;
no change in compiler assembly output.


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
# 1.9 02-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE UBC_BASE UBC_SYNC_A UBC_SYNC_B
# 1.8 08-Mar-2001 art

branches: 1.8.6;
indentation


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE SMP_BASE kame_19991208
# 1.7 28-Apr-1999 art

branches: 1.7.4;
zap the newhashinit hack.
Add an extra flag to hashinit telling if it should wait in malloc.
update all calls to hashinit.


Revision tags: OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.6 09-Jan-1998 csapuntz

Prevent double insertions into the inode hash queue
Silently allow removal of inodes that aren't on the hash queues


# 1.5 06-Nov-1997 csapuntz

Updates for VFS Lite 2 + soft update.


Revision tags: OPENBSD_2_2_BASE
# 1.4 06-Oct-1997 deraadt

back out vfs lite2 till after 2.2


# 1.3 06-Oct-1997 csapuntz

VFS Lite2 Changes


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE
# 1.2 27-Feb-1996 niklas

From NetBSD: update to 960217 sources


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.24 27-May-2018 visa

Drop unnecessary `p' parameter from vget(9).

OK mpi@


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.23 19-Jun-2016 natano

Remove the lockmgr() API. It is only used by filesystems, where it is a
trivial change to use rrw locks instead. All it needs is LK_* defines
for the RW_* flags.

tested by naddy and sthen on package building infrastructure
input and ok jmc mpi tedu


Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.22 14-Mar-2015 jsg

Remove some includes include-what-you-use claims don't
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.

ok tedu@ deraadt@


Revision tags: OPENBSD_5_7_BASE
# 1.21 09-Jan-2015 tedu

rename desiredvnodes to initialvnodes. less of a lie. ok beck deraadt


# 1.20 17-Nov-2014 dlg

apply siphash to the key selection for the ufs inode hash.

ok tedu@


# 1.19 14-Sep-2014 jsg

remove uneeded proc.h includes
ok mpi@ kspillner@


Revision tags: OPENBSD_5_6_BASE
# 1.18 14-Apr-2014 beck

fix potential race where an allocated inode could fail to get added,
noticed by pedro@ in bitrig.
ok philip@ millert@


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.17 30-May-2013 guenther

UFS does't do inode numbers >2^32, so use a smaller type internally,
only using ino_t in the VFS layer APIs: vget, readdir, getattr.

otto wrote the original diff for libsa to keep bootblock from overflowing
ok deraadt@ kettenis@


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.16 19-Jul-2010 deraadt

Not enough OK's, and from the wrong people. You should know how to do
collaborative development by now, Owain


# 1.15 19-Jul-2010 oga

Replace XXXLOCKING comments by me (replacing simple_locks that are the
same thing) with mutexes.

From Gabriel Kihlman (gk AT stacken DOT kth DOT se); thanks!

ok art@ ages ago.


# 1.14 23-Apr-2010 oga

simple_lock -> XXXLOCKING for ufh ihash.

I'm actually 99% sure that these locks are right and could be almost
trivially converted to an IPL_NONE mutex protecting the hashtable. Any
takers?


Revision tags: OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.13 21-Mar-2007 thib

Remove the v_interlock simplelock from the vnode structure.
Zap all calls to simple_lock/unlock() on it (those calls are
#defined away though). Remove the LK_INTERLOCK from the calls
to vn_lock() and cleanup the filesystems wich implement VOP_LOCK().
(by remvoing the v_interlock from there calls to lockmgr()).

ok pedro@, art@, tedu@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.12 19-Nov-2005 pedro

Remove unnecessary lockmgr() archaism that was costing too much in terms
of panics and bugfixes. Access curproc directly, do not expect a process
pointer as an argument. Should fix many "process context required" bugs.
Incentive and okay millert@, okay marc@. Various testing, thanks.


# 1.11 10-Nov-2005 pedro

Use ANSI function declarations and deregister, no binary change.
Diff from Rui Reis <rui@rui.cx>, thanks.


Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.10 26-Dec-2004 miod

Use list and queue macros where applicable to make the code easier to read;
no change in compiler assembly output.


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
# 1.9 02-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE UBC_BASE UBC_SYNC_A UBC_SYNC_B
# 1.8 08-Mar-2001 art

branches: 1.8.6;
indentation


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE SMP_BASE kame_19991208
# 1.7 28-Apr-1999 art

branches: 1.7.4;
zap the newhashinit hack.
Add an extra flag to hashinit telling if it should wait in malloc.
update all calls to hashinit.


Revision tags: OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.6 09-Jan-1998 csapuntz

Prevent double insertions into the inode hash queue
Silently allow removal of inodes that aren't on the hash queues


# 1.5 06-Nov-1997 csapuntz

Updates for VFS Lite 2 + soft update.


Revision tags: OPENBSD_2_2_BASE
# 1.4 06-Oct-1997 deraadt

back out vfs lite2 till after 2.2


# 1.3 06-Oct-1997 csapuntz

VFS Lite2 Changes


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE
# 1.2 27-Feb-1996 niklas

From NetBSD: update to 960217 sources


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.23 19-Jun-2016 natano

Remove the lockmgr() API. It is only used by filesystems, where it is a
trivial change to use rrw locks instead. All it needs is LK_* defines
for the RW_* flags.

tested by naddy and sthen on package building infrastructure
input and ok jmc mpi tedu


Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.22 14-Mar-2015 jsg

Remove some includes include-what-you-use claims don't
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.

ok tedu@ deraadt@


Revision tags: OPENBSD_5_7_BASE
# 1.21 09-Jan-2015 tedu

rename desiredvnodes to initialvnodes. less of a lie. ok beck deraadt


# 1.20 17-Nov-2014 dlg

apply siphash to the key selection for the ufs inode hash.

ok tedu@


# 1.19 14-Sep-2014 jsg

remove uneeded proc.h includes
ok mpi@ kspillner@


Revision tags: OPENBSD_5_6_BASE
# 1.18 14-Apr-2014 beck

fix potential race where an allocated inode could fail to get added,
noticed by pedro@ in bitrig.
ok philip@ millert@


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.17 30-May-2013 guenther

UFS does't do inode numbers >2^32, so use a smaller type internally,
only using ino_t in the VFS layer APIs: vget, readdir, getattr.

otto wrote the original diff for libsa to keep bootblock from overflowing
ok deraadt@ kettenis@


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.16 19-Jul-2010 deraadt

Not enough OK's, and from the wrong people. You should know how to do
collaborative development by now, Owain


# 1.15 19-Jul-2010 oga

Replace XXXLOCKING comments by me (replacing simple_locks that are the
same thing) with mutexes.

From Gabriel Kihlman (gk AT stacken DOT kth DOT se); thanks!

ok art@ ages ago.


# 1.14 23-Apr-2010 oga

simple_lock -> XXXLOCKING for ufh ihash.

I'm actually 99% sure that these locks are right and could be almost
trivially converted to an IPL_NONE mutex protecting the hashtable. Any
takers?


Revision tags: OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.13 21-Mar-2007 thib

Remove the v_interlock simplelock from the vnode structure.
Zap all calls to simple_lock/unlock() on it (those calls are
#defined away though). Remove the LK_INTERLOCK from the calls
to vn_lock() and cleanup the filesystems wich implement VOP_LOCK().
(by remvoing the v_interlock from there calls to lockmgr()).

ok pedro@, art@, tedu@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.12 19-Nov-2005 pedro

Remove unnecessary lockmgr() archaism that was costing too much in terms
of panics and bugfixes. Access curproc directly, do not expect a process
pointer as an argument. Should fix many "process context required" bugs.
Incentive and okay millert@, okay marc@. Various testing, thanks.


# 1.11 10-Nov-2005 pedro

Use ANSI function declarations and deregister, no binary change.
Diff from Rui Reis <rui@rui.cx>, thanks.


Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.10 26-Dec-2004 miod

Use list and queue macros where applicable to make the code easier to read;
no change in compiler assembly output.


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
# 1.9 02-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE UBC_BASE UBC_SYNC_A UBC_SYNC_B
# 1.8 08-Mar-2001 art

branches: 1.8.6;
indentation


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE SMP_BASE kame_19991208
# 1.7 28-Apr-1999 art

branches: 1.7.4;
zap the newhashinit hack.
Add an extra flag to hashinit telling if it should wait in malloc.
update all calls to hashinit.


Revision tags: OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.6 09-Jan-1998 csapuntz

Prevent double insertions into the inode hash queue
Silently allow removal of inodes that aren't on the hash queues


# 1.5 06-Nov-1997 csapuntz

Updates for VFS Lite 2 + soft update.


Revision tags: OPENBSD_2_2_BASE
# 1.4 06-Oct-1997 deraadt

back out vfs lite2 till after 2.2


# 1.3 06-Oct-1997 csapuntz

VFS Lite2 Changes


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE
# 1.2 27-Feb-1996 niklas

From NetBSD: update to 960217 sources


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision