aboutsummaryrefslogtreecommitdiff
path: root/sys/gnu
diff options
context:
space:
mode:
authorJeff Roberson <jeff@FreeBSD.org>2002-08-04 10:29:36 +0000
committerJeff Roberson <jeff@FreeBSD.org>2002-08-04 10:29:36 +0000
commite6e370a7fe930e04cec38bcc2e06be127ed7ee02 (patch)
treee889f56910bf98cbee3be239655a9e4bbb928b2e /sys/gnu
parentf75bb0aa25847511ed461bccb4d3fc247ab6b1d5 (diff)
Notes
Diffstat (limited to 'sys/gnu')
-rw-r--r--sys/gnu/ext2fs/ext2_vnops.c9
-rw-r--r--sys/gnu/fs/ext2fs/ext2_vnops.c9
2 files changed, 12 insertions, 6 deletions
diff --git a/sys/gnu/ext2fs/ext2_vnops.c b/sys/gnu/ext2fs/ext2_vnops.c
index 846e3adbdef7a..4474c23d17442 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
*/
diff --git a/sys/gnu/fs/ext2fs/ext2_vnops.c b/sys/gnu/fs/ext2fs/ext2_vnops.c
index 846e3adbdef7a..4474c23d17442 100644
--- a/sys/gnu/fs/ext2fs/ext2_vnops.c
+++ b/sys/gnu/fs/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
*/