Module Name: src Committed By: hannken Date: Tue May 3 08:35:11 UTC 2022
Modified Files: src/sys/kern: vnode_if.c src/sys/rump/include/rump: rumpvnode_if.h src/sys/rump/librump/rumpvfs: rumpvnode_if.c src/sys/sys: vnode_if.h Log Message: Regen. To generate a diff of this commit: cvs rdiff -u -r1.115 -r1.116 src/sys/kern/vnode_if.c cvs rdiff -u -r1.37 -r1.38 src/sys/rump/include/rump/rumpvnode_if.h cvs rdiff -u -r1.37 -r1.38 src/sys/rump/librump/rumpvfs/rumpvnode_if.c cvs rdiff -u -r1.108 -r1.109 src/sys/sys/vnode_if.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/vnode_if.c diff -u src/sys/kern/vnode_if.c:1.115 src/sys/kern/vnode_if.c:1.116 --- src/sys/kern/vnode_if.c:1.115 Wed Oct 20 03:13:14 2021 +++ src/sys/kern/vnode_if.c Tue May 3 08:35:11 2022 @@ -1,13 +1,13 @@ -/* $NetBSD: vnode_if.c,v 1.115 2021/10/20 03:13:14 thorpej Exp $ */ +/* $NetBSD: vnode_if.c,v 1.116 2022/05/03 08:35:11 hannken Exp $ */ /* * Warning: DO NOT EDIT! This file is automatically generated! * (Modifications made here may easily be lost!) * * Created from the file: - * NetBSD: vnode_if.src,v 1.83 2021/10/20 03:08:18 thorpej Exp + * NetBSD: vnode_if.src,v 1.84 2022/05/03 08:33:59 hannken Exp * by the script: - * NetBSD: vnode_if.sh,v 1.72 2021/10/20 03:08:18 thorpej Exp + * NetBSD: vnode_if.sh,v 1.74 2022/05/03 08:33:59 hannken Exp */ /* @@ -40,7 +40,11 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vnode_if.c,v 1.115 2021/10/20 03:13:14 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vnode_if.c,v 1.116 2022/05/03 08:35:11 hannken Exp $"); + +#ifdef _KERNEL_OPT +#include "opt_vnode_lockdebug.h" +#endif /* _KERNEL_OPT */ #include <sys/param.h> #include <sys/mount.h> @@ -296,6 +300,33 @@ vop_post(vnode_t *vp, struct mount *mp, } } +static inline void +assert_vop_unlocked(vnode_t *vp, const char *str) +{ + + if (VOP_ISLOCKED(vp) == LK_EXCLUSIVE) + panic("%s: %p %d/%d is locked but should not be", + str, vp, vp->v_tag, vp->v_type); +} + +static inline void +assert_vop_locked(vnode_t *vp, const char *str) +{ + + if (VOP_ISLOCKED(vp) == LK_NONE) + panic("%s: %p %d/%d is not locked but should be", + str, vp, vp->v_tag, vp->v_type); +} + +static inline void +assert_vop_elocked(vnode_t *vp, const char *str) +{ + + if (VOP_ISLOCKED(vp) != LK_EXCLUSIVE) + panic("%s: %p %d/%d is not exclusive locked but should be", + str, vp, vp->v_tag, vp->v_type); +} + const struct vnodeop_desc vop_default_desc = { 0, "default", @@ -399,6 +430,7 @@ VOP_LOOKUP(struct vnode *dvp, a.a_dvp = dvp; a.a_vpp = vpp; a.a_cnp = cnp; + assert_vop_locked(dvp, "vop_lookup: dvp"); error = vop_pre(dvp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -440,6 +472,7 @@ VOP_CREATE(struct vnode *dvp, a.a_vpp = vpp; a.a_cnp = cnp; a.a_vap = vap; + assert_vop_elocked(dvp, "vop_create: dvp"); error = vop_pre(dvp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -482,6 +515,7 @@ VOP_MKNOD(struct vnode *dvp, a.a_vpp = vpp; a.a_cnp = cnp; a.a_vap = vap; + assert_vop_elocked(dvp, "vop_mknod: dvp"); error = vop_pre(dvp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -522,6 +556,7 @@ VOP_OPEN(struct vnode *vp, a.a_vp = vp; a.a_mode = mode; a.a_cred = cred; + assert_vop_locked(vp, "vop_open: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -557,6 +592,7 @@ VOP_CLOSE(struct vnode *vp, a.a_vp = vp; a.a_fflag = fflag; a.a_cred = cred; + assert_vop_locked(vp, "vop_close: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -592,6 +628,7 @@ VOP_ACCESS(struct vnode *vp, a.a_vp = vp; a.a_accmode = accmode; a.a_cred = cred; + assert_vop_locked(vp, "vop_access: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -626,6 +663,7 @@ VOP_ACCESSX(struct vnode *vp, a.a_vp = vp; a.a_accmode = accmode; a.a_cred = cred; + assert_vop_locked(vp, "vop_accessx: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -660,6 +698,7 @@ VOP_GETATTR(struct vnode *vp, a.a_vp = vp; a.a_vap = vap; a.a_cred = cred; + assert_vop_locked(vp, "vop_getattr: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -694,6 +733,7 @@ VOP_SETATTR(struct vnode *vp, a.a_vp = vp; a.a_vap = vap; a.a_cred = cred; + assert_vop_elocked(vp, "vop_setattr: vp"); vop_setattr_pre(&a); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) @@ -732,6 +772,7 @@ VOP_READ(struct vnode *vp, a.a_uio = uio; a.a_ioflag = ioflag; a.a_cred = cred; + assert_vop_locked(vp, "vop_read: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -769,6 +810,7 @@ VOP_WRITE(struct vnode *vp, a.a_uio = uio; a.a_ioflag = ioflag; a.a_cred = cred; + assert_vop_locked(vp, "vop_write: vp"); vop_write_pre(&a); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) @@ -805,6 +847,7 @@ VOP_FALLOCATE(struct vnode *vp, a.a_vp = vp; a.a_pos = pos; a.a_len = len; + assert_vop_locked(vp, "vop_fallocate: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -839,6 +882,7 @@ VOP_FDISCARD(struct vnode *vp, a.a_vp = vp; a.a_pos = pos; a.a_len = len; + assert_vop_locked(vp, "vop_fdiscard: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -877,6 +921,7 @@ VOP_IOCTL(struct vnode *vp, a.a_data = data; a.a_fflag = fflag; a.a_cred = cred; + assert_vop_unlocked(vp, "vop_ioctl: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -915,6 +960,7 @@ VOP_FCNTL(struct vnode *vp, a.a_data = data; a.a_fflag = fflag; a.a_cred = cred; + assert_vop_unlocked(vp, "vop_fcntl: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -947,6 +993,7 @@ VOP_POLL(struct vnode *vp, a.a_desc = VDESC(vop_poll); a.a_vp = vp; a.a_events = events; + assert_vop_unlocked(vp, "vop_poll: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_YES); if (error) return error; @@ -979,6 +1026,7 @@ VOP_KQFILTER(struct vnode *vp, a.a_desc = VDESC(vop_kqfilter); a.a_vp = vp; a.a_kn = kn; + assert_vop_unlocked(vp, "vop_kqfilter: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_YES); if (error) return error; @@ -1011,6 +1059,7 @@ VOP_REVOKE(struct vnode *vp, a.a_desc = VDESC(vop_revoke); a.a_vp = vp; a.a_flags = flags; + assert_vop_unlocked(vp, "vop_revoke: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -1083,6 +1132,7 @@ VOP_FSYNC(struct vnode *vp, a.a_flags = flags; a.a_offlo = offlo; a.a_offhi = offhi; + assert_vop_locked(vp, "vop_fsync: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -1154,6 +1204,8 @@ VOP_REMOVE(struct vnode *dvp, a.a_dvp = dvp; a.a_vp = vp; a.a_cnp = cnp; + assert_vop_elocked(dvp, "vop_remove: dvp"); + assert_vop_locked(vp, "vop_remove: vp"); vop_remove_pre(&a); error = vop_pre(dvp, &mp, &mpsafe, FST_NO); if (error) @@ -1191,6 +1243,8 @@ VOP_LINK(struct vnode *dvp, a.a_dvp = dvp; a.a_vp = vp; a.a_cnp = cnp; + assert_vop_elocked(dvp, "vop_link: dvp"); + assert_vop_unlocked(vp, "vop_link: vp"); error = vop_pre(dvp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -1235,6 +1289,7 @@ VOP_RENAME(struct vnode *fdvp, a.a_tdvp = tdvp; a.a_tvp = tvp; a.a_tcnp = tcnp; + assert_vop_locked(tdvp, "vop_rename: tdvp"); error = vop_pre(fdvp, &mp, &mpsafe, FST_YES); if (error) return error; @@ -1271,6 +1326,7 @@ VOP_MKDIR(struct vnode *dvp, a.a_vpp = vpp; a.a_cnp = cnp; a.a_vap = vap; + assert_vop_elocked(dvp, "vop_mkdir: dvp"); error = vop_pre(dvp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -1312,6 +1368,8 @@ VOP_RMDIR(struct vnode *dvp, a.a_dvp = dvp; a.a_vp = vp; a.a_cnp = cnp; + assert_vop_elocked(dvp, "vop_rmdir: dvp"); + assert_vop_elocked(vp, "vop_rmdir: vp"); vop_rmdir_pre(&a); error = vop_pre(dvp, &mp, &mpsafe, FST_NO); if (error) @@ -1352,6 +1410,7 @@ VOP_SYMLINK(struct vnode *dvp, a.a_cnp = cnp; a.a_vap = vap; a.a_target = target; + assert_vop_elocked(dvp, "vop_symlink: dvp"); error = vop_pre(dvp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -1398,6 +1457,7 @@ VOP_READDIR(struct vnode *vp, a.a_eofflag = eofflag; a.a_cookies = cookies; a.a_ncookies = ncookies; + assert_vop_locked(vp, "vop_readdir: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -1432,6 +1492,7 @@ VOP_READLINK(struct vnode *vp, a.a_vp = vp; a.a_uio = uio; a.a_cred = cred; + assert_vop_locked(vp, "vop_readlink: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -1496,6 +1557,7 @@ VOP_INACTIVE(struct vnode *vp, a.a_desc = VDESC(vop_inactive); a.a_vp = vp; a.a_recycle = recycle; + assert_vop_elocked(vp, "vop_inactive: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -1526,6 +1588,7 @@ VOP_RECLAIM(struct vnode *vp) struct mount *mp; a.a_desc = VDESC(vop_reclaim); a.a_vp = vp; + assert_vop_elocked(vp, "vop_reclaim: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -1588,6 +1651,7 @@ VOP_UNLOCK(struct vnode *vp) struct mount *mp; a.a_desc = VDESC(vop_unlock); a.a_vp = vp; + assert_vop_locked(vp, "vop_unlock: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -1752,6 +1816,7 @@ VOP_PATHCONF(struct vnode *vp, a.a_vp = vp; a.a_name = name; a.a_retval = retval; + assert_vop_locked(vp, "vop_pathconf: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -1790,6 +1855,7 @@ VOP_ADVLOCK(struct vnode *vp, a.a_op = op; a.a_fl = fl; a.a_flags = flags; + assert_vop_unlocked(vp, "vop_advlock: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -1824,6 +1890,7 @@ VOP_WHITEOUT(struct vnode *dvp, a.a_dvp = dvp; a.a_cnp = cnp; a.a_flags = flags; + assert_vop_elocked(dvp, "vop_whiteout: dvp"); error = vop_pre(dvp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -1976,11 +2043,12 @@ VOP_SETACL(struct vnode *vp, a.a_type = type; a.a_aclp = aclp; a.a_cred = cred; - error = vop_pre(vp, &mp, &mpsafe, FST_YES); + assert_vop_elocked(vp, "vop_setacl: vp"); + error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; error = (VCALL(vp, VOFFSET(vop_setacl), &a)); - vop_post(vp, mp, mpsafe, FST_YES); + vop_post(vp, mp, mpsafe, FST_NO); vop_setacl_post(&a, error); return error; } @@ -2047,6 +2115,7 @@ VOP_CLOSEEXTATTR(struct vnode *vp, a.a_vp = vp; a.a_commit = commit; a.a_cred = cred; + assert_vop_locked(vp, "vop_closeextattr: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -2087,6 +2156,7 @@ VOP_GETEXTATTR(struct vnode *vp, a.a_uio = uio; a.a_size = size; a.a_cred = cred; + assert_vop_locked(vp, "vop_getextattr: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -2127,6 +2197,7 @@ VOP_LISTEXTATTR(struct vnode *vp, a.a_size = size; a.a_flag = flag; a.a_cred = cred; + assert_vop_locked(vp, "vop_listextattr: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -2159,6 +2230,7 @@ VOP_OPENEXTATTR(struct vnode *vp, a.a_desc = VDESC(vop_openextattr); a.a_vp = vp; a.a_cred = cred; + assert_vop_locked(vp, "vop_openextattr: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -2195,6 +2267,7 @@ VOP_DELETEEXTATTR(struct vnode *vp, a.a_attrnamespace = attrnamespace; a.a_name = name; a.a_cred = cred; + assert_vop_elocked(vp, "vop_deleteextattr: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; @@ -2233,6 +2306,7 @@ VOP_SETEXTATTR(struct vnode *vp, a.a_name = name; a.a_uio = uio; a.a_cred = cred; + assert_vop_elocked(vp, "vop_setextattr: vp"); error = vop_pre(vp, &mp, &mpsafe, FST_NO); if (error) return error; Index: src/sys/rump/include/rump/rumpvnode_if.h diff -u src/sys/rump/include/rump/rumpvnode_if.h:1.37 src/sys/rump/include/rump/rumpvnode_if.h:1.38 --- src/sys/rump/include/rump/rumpvnode_if.h:1.37 Wed Oct 20 03:13:14 2021 +++ src/sys/rump/include/rump/rumpvnode_if.h Tue May 3 08:35:11 2022 @@ -1,13 +1,13 @@ -/* $NetBSD: rumpvnode_if.h,v 1.37 2021/10/20 03:13:14 thorpej Exp $ */ +/* $NetBSD: rumpvnode_if.h,v 1.38 2022/05/03 08:35:11 hannken Exp $ */ /* * Warning: DO NOT EDIT! This file is automatically generated! * (Modifications made here may easily be lost!) * * Created from the file: - * NetBSD: vnode_if.src,v 1.83 2021/10/20 03:08:18 thorpej Exp + * NetBSD: vnode_if.src,v 1.84 2022/05/03 08:33:59 hannken Exp * by the script: - * NetBSD: vnode_if.sh,v 1.72 2021/10/20 03:08:18 thorpej Exp + * NetBSD: vnode_if.sh,v 1.74 2022/05/03 08:33:59 hannken Exp */ /* Index: src/sys/rump/librump/rumpvfs/rumpvnode_if.c diff -u src/sys/rump/librump/rumpvfs/rumpvnode_if.c:1.37 src/sys/rump/librump/rumpvfs/rumpvnode_if.c:1.38 --- src/sys/rump/librump/rumpvfs/rumpvnode_if.c:1.37 Wed Oct 20 03:13:14 2021 +++ src/sys/rump/librump/rumpvfs/rumpvnode_if.c Tue May 3 08:35:11 2022 @@ -1,13 +1,13 @@ -/* $NetBSD: rumpvnode_if.c,v 1.37 2021/10/20 03:13:14 thorpej Exp $ */ +/* $NetBSD: rumpvnode_if.c,v 1.38 2022/05/03 08:35:11 hannken Exp $ */ /* * Warning: DO NOT EDIT! This file is automatically generated! * (Modifications made here may easily be lost!) * * Created from the file: - * NetBSD: vnode_if.src,v 1.83 2021/10/20 03:08:18 thorpej Exp + * NetBSD: vnode_if.src,v 1.84 2022/05/03 08:33:59 hannken Exp * by the script: - * NetBSD: vnode_if.sh,v 1.72 2021/10/20 03:08:18 thorpej Exp + * NetBSD: vnode_if.sh,v 1.74 2022/05/03 08:33:59 hannken Exp */ /* @@ -40,7 +40,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rumpvnode_if.c,v 1.37 2021/10/20 03:13:14 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rumpvnode_if.c,v 1.38 2022/05/03 08:35:11 hannken Exp $"); #include <sys/param.h> #include <sys/mount.h> Index: src/sys/sys/vnode_if.h diff -u src/sys/sys/vnode_if.h:1.108 src/sys/sys/vnode_if.h:1.109 --- src/sys/sys/vnode_if.h:1.108 Wed Oct 20 03:13:14 2021 +++ src/sys/sys/vnode_if.h Tue May 3 08:35:11 2022 @@ -1,13 +1,13 @@ -/* $NetBSD: vnode_if.h,v 1.108 2021/10/20 03:13:14 thorpej Exp $ */ +/* $NetBSD: vnode_if.h,v 1.109 2022/05/03 08:35:11 hannken Exp $ */ /* * Warning: DO NOT EDIT! This file is automatically generated! * (Modifications made here may easily be lost!) * * Created from the file: - * NetBSD: vnode_if.src,v 1.83 2021/10/20 03:08:18 thorpej Exp + * NetBSD: vnode_if.src,v 1.84 2022/05/03 08:33:59 hannken Exp * by the script: - * NetBSD: vnode_if.sh,v 1.72 2021/10/20 03:08:18 thorpej Exp + * NetBSD: vnode_if.sh,v 1.74 2022/05/03 08:33:59 hannken Exp */ /*