Module Name: src Committed By: martin Date: Tue Oct 15 18:13:56 UTC 2019
Modified Files: src/sys/kern [netbsd-9]: vnode_if.c Log Message: Regen (for ticket #307) To generate a diff of this commit: cvs rdiff -u -r1.107 -r1.107.10.1 src/sys/kern/vnode_if.c 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.107 src/sys/kern/vnode_if.c:1.107.10.1 --- src/sys/kern/vnode_if.c:1.107 Wed Jul 12 09:31:59 2017 +++ src/sys/kern/vnode_if.c Tue Oct 15 18:13:55 2019 @@ -1,13 +1,13 @@ -/* $NetBSD: vnode_if.c,v 1.107 2017/07/12 09:31:59 hannken Exp $ */ +/* $NetBSD: vnode_if.c,v 1.107.10.1 2019/10/15 18:13:55 martin 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.77 2017/07/12 09:31:07 hannken Exp + * NetBSD: vnode_if.src,v 1.77.10.1 2019/10/15 18:12:25 martin Exp * by the script: - * NetBSD: vnode_if.sh,v 1.66 2017/06/04 08:03:26 hannken Exp + * NetBSD: vnode_if.sh,v 1.66.10.1 2019/10/15 18:12:25 martin Exp */ /* @@ -40,7 +40,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vnode_if.c,v 1.107 2017/07/12 09:31:59 hannken Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vnode_if.c,v 1.107.10.1 2019/10/15 18:13:55 martin Exp $"); #include <sys/param.h> #include <sys/mount.h> @@ -49,7 +49,7 @@ __KERNEL_RCSID(0, "$NetBSD: vnode_if.c,v #include <sys/lock.h> #include <sys/fstrans.h> -enum fst_op { FST_NO, FST_YES, FST_TRY }; +enum fst_op { FST_NO, FST_YES, FST_LAZY, FST_TRY }; static inline int vop_pre(vnode_t *vp, struct mount **mp, bool *mpsafe, enum fst_op op) @@ -62,7 +62,7 @@ vop_pre(vnode_t *vp, struct mount **mp, KERNEL_LOCK(1, curlwp); } - if (op == FST_YES || op == FST_TRY) { + if (op == FST_YES || op == FST_LAZY || op == FST_TRY) { for (;;) { *mp = vp->v_mount; if (op == FST_TRY) { @@ -73,6 +73,8 @@ vop_pre(vnode_t *vp, struct mount **mp, } return error; } + } else if (op == FST_LAZY) { + fstrans_start_lazy(*mp); } else { fstrans_start(*mp); } @@ -91,7 +93,7 @@ static inline void vop_post(vnode_t *vp, struct mount *mp, bool mpsafe, enum fst_op op) { - if (op == FST_YES) { + if (op == FST_YES || op == FST_LAZY) { fstrans_done(mp); } @@ -1378,11 +1380,11 @@ VOP_STRATEGY(struct vnode *vp, a.a_desc = VDESC(vop_strategy); a.a_vp = vp; a.a_bp = bp; - error = vop_pre(vp, &mp, &mpsafe, FST_YES); + error = vop_pre(vp, &mp, &mpsafe, FST_LAZY); if (error) return error; error = (VCALL(vp, VOFFSET(vop_strategy), &a)); - vop_post(vp, mp, mpsafe, FST_YES); + vop_post(vp, mp, mpsafe, FST_LAZY); return error; }