Module Name: src
Committed By: martin
Date: Mon Oct 14 19:20:14 UTC 2019
Modified Files:
src/sys/kern [netbsd-8]: vnode_if.c
Log Message:
regen (for ticket #1405)
To generate a diff of this commit:
cvs rdiff -u -r1.104.2.2 -r1.104.2.3 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.104.2.2 src/sys/kern/vnode_if.c:1.104.2.3
--- src/sys/kern/vnode_if.c:1.104.2.2 Tue Jul 25 01:29:56 2017
+++ src/sys/kern/vnode_if.c Mon Oct 14 19:20:14 2019
@@ -1,13 +1,13 @@
-/* $NetBSD: vnode_if.c,v 1.104.2.2 2017/07/25 01:29:56 snj Exp $ */
+/* $NetBSD: vnode_if.c,v 1.104.2.3 2019/10/14 19:20:14 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.75.2.2 2017/07/25 01:29:23 snj Exp
+ * NetBSD: vnode_if.src,v 1.75.2.3 2019/10/14 17:43:58 martin Exp
* by the script:
- * NetBSD: vnode_if.sh,v 1.64.4.1 2017/06/04 20:35:01 bouyer Exp
+ * NetBSD: vnode_if.sh,v 1.64.4.2 2019/10/14 17:43:58 martin Exp
*/
/*
@@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vnode_if.c,v 1.104.2.2 2017/07/25 01:29:56 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vnode_if.c,v 1.104.2.3 2019/10/14 19:20:14 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;
}