summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1999-11-09 14:15:33 +0000
committerphk <phk@FreeBSD.org>1999-11-09 14:15:33 +0000
commit8c9bc6b1465e40acc6ad183f2048b478838442e7 (patch)
tree9ecaa92a6de6fdd1aeb455d59ce671785a1d0801 /sys/ufs
parent90188d1d4bda4b0a373a1823aa4a02e3f86da9c6 (diff)
downloadFreeBSD-src-8c9bc6b1465e40acc6ad183f2048b478838442e7.zip
FreeBSD-src-8c9bc6b1465e40acc6ad183f2048b478838442e7.tar.gz
Next step in the device cleanup process.
Correctly lock vnodes when calling VOP_OPEN() from filesystem mount code. Unify spec_open() for bdev and cdev cases. Remove the disabled bdev specific read/write code.
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ffs/ffs_vfsops.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c
index 8786f10..827b1b6 100644
--- a/sys/ufs/ffs/ffs_vfsops.c
+++ b/sys/ufs/ffs/ffs_vfsops.c
@@ -601,7 +601,9 @@ ffs_mountfs(devvp, mp, p, malloctype)
}
ronly = (mp->mnt_flag & MNT_RDONLY) != 0;
+ vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, p);
error = VOP_OPEN(devvp, ronly ? FREAD : FREAD|FWRITE, FSCRED, p);
+ VOP_UNLOCK(devvp, 0, p);
if (error)
return (error);
if (devvp->v_rdev->si_iosize_max > mp->mnt_iosize_max)
OpenPOWER on IntegriCloud