summaryrefslogtreecommitdiffstats
path: root/sys/gnu/ext2fs
diff options
context:
space:
mode:
Diffstat (limited to 'sys/gnu/ext2fs')
-rw-r--r--sys/gnu/ext2fs/ext2_vnops.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/gnu/ext2fs/ext2_vnops.c b/sys/gnu/ext2fs/ext2_vnops.c
index 846e3ad..4474c23 100644
--- a/sys/gnu/ext2fs/ext2_vnops.c
+++ b/sys/gnu/ext2fs/ext2_vnops.c
@@ -718,10 +718,13 @@ loop:
goto loop;
}
if (ap->a_waitfor == MNT_WAIT) {
+ VI_LOCK(vp);
while (vp->v_numoutput) {
- vp->v_flag |= VBWAIT;
- tsleep(&vp->v_numoutput, PRIBIO + 1, "e2fsyn", 0);
+ vp->v_iflag |= VI_BWAIT;
+ msleep(&vp->v_numoutput, VI_MTX(vp),
+ PRIBIO + 1, "e2fsyn", 0);
}
+ VI_UNLOCK(vp);
#if DIAGNOSTIC
if (!TAILQ_EMPTY(&vp->v_dirtyblkhd)) {
vprint("ext2_fsync: dirty", vp);
@@ -1861,7 +1864,7 @@ ext2_vinit(mntp, specops, fifoops, vpp)
}
if (ip->i_number == ROOTINO)
- vp->v_flag |= VROOT;
+ vp->v_vflag |= VV_ROOT;
/*
* Initialize modrev times
*/
OpenPOWER on IntegriCloud