Module Name: src
Committed By: hannken
Date: Fri Oct 11 08:05:19 UTC 2019
Modified Files:
src/sys/kern: vnode_if.c
Log Message:
Regen.
To generate a diff of this commit:
cvs rdiff -u -r1.107 -r1.108 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.108
--- src/sys/kern/vnode_if.c:1.107 Wed Jul 12 09:31:59 2017
+++ src/sys/kern/vnode_if.c Fri Oct 11 08:05:19 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: vnode_if.c,v 1.107 2017/07/12 09:31:59 hannken Exp $ */
+/* $NetBSD: vnode_if.c,v 1.108 2019/10/11 08:05:19 hannken Exp $ */
/*
* Warning: DO NOT EDIT! This file is automatically generated!
@@ -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.108 2019/10/11 08:05:19 hannken 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;
}