git: e2ac6de6e4ed - main - p9fs: Set vnode state in p9fs_vget_common()

From: Mark Johnston <markj_at_FreeBSD.org>
Date: Mon, 04 Aug 2025 22:08:08 UTC
The branch main has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=e2ac6de6e4edc1c6e7bfdfb0ec8fcf62f46d503f

commit e2ac6de6e4edc1c6e7bfdfb0ec8fcf62f46d503f
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2025-08-04 15:07:05 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2025-08-04 22:06:17 +0000

    p9fs: Set vnode state in p9fs_vget_common()
    
    Once a new vnode is visible from the mountpoint hash, we should set its
    state from VSTATE_UNINITIALIZED to VSTATE_CONSTRUCTED.  I do not think
    this affects correctness at all, but the bug trips a check in
    vop_unlock_debugpost(), previously hidden under options DEBUG_VFS_LOCKS.
    
    Reviewed by:    kib
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D51720
---
 sys/fs/p9fs/p9fs_vfsops.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/fs/p9fs/p9fs_vfsops.c b/sys/fs/p9fs/p9fs_vfsops.c
index 3451bc052187..e0e91e7e1709 100644
--- a/sys/fs/p9fs/p9fs_vfsops.c
+++ b/sys/fs/p9fs/p9fs_vfsops.c
@@ -374,7 +374,7 @@ p9fs_vget_common(struct mount *mp, struct p9fs_node *np, int flags,
 		STAILQ_INSERT_TAIL(&vses->virt_node_list, np, p9fs_node_next);
 		np->flags |= P9FS_NODE_IN_SESSION;
 		P9FS_UNLOCK(vses);
-
+		vn_set_state(vp, VSTATE_CONSTRUCTED);
 		*vpp = vp;
 	} else {
 		/*