git: f19063ab029b - main - vfs_hash_rehash(): require the vnode to be exclusively locked
Konstantin Belousov
kib at FreeBSD.org
Fri Aug 27 15:40:01 UTC 2021
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=f19063ab029b067e1763780aebca4bd620453110
commit f19063ab029b067e1763780aebca4bd620453110
Author: Konstantin Belousov <kib at FreeBSD.org>
AuthorDate: 2021-08-18 11:14:42 +0000
Commit: Konstantin Belousov <kib at FreeBSD.org>
CommitDate: 2021-08-27 15:39:45 +0000
vfs_hash_rehash(): require the vnode to be exclusively locked
Rehash updates v_hash. Also, rehash moves the vnode to different hash
bucket, which should be noticed in vfs_hash_get() after sleeping for
the vnode lock.
Reviewed by: mckusick, rmacklem
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D31464
---
sys/kern/vfs_hash.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys/kern/vfs_hash.c b/sys/kern/vfs_hash.c
index c5d67c8b2b33..2e446e69a314 100644
--- a/sys/kern/vfs_hash.c
+++ b/sys/kern/vfs_hash.c
@@ -196,6 +196,7 @@ vfs_hash_insert(struct vnode *vp, u_int hash, int flags, struct thread *td,
void
vfs_hash_rehash(struct vnode *vp, u_int hash)
{
+ ASSERT_VOP_ELOCKED(vp, "rehash requires excl lock");
rw_wlock(&vfs_hash_lock);
LIST_REMOVE(vp, v_hashlist);
More information about the dev-commits-src-main
mailing list