aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSuleiman Souhlal <ssouhlal@FreeBSD.org>2005-09-03 20:23:41 +0000
committerSuleiman Souhlal <ssouhlal@FreeBSD.org>2005-09-03 20:23:41 +0000
commit68da388325a47f2988d278c83dcd6c0ead3c4ae6 (patch)
treee7358d5e6b1108dc93a692e869b9e13e75eb2535
parent43be3aac7aa4d5989e75f763ec807f5c624478c9 (diff)
Notes
-rw-r--r--sys/fs/hpfs/hpfs_vfsops.c1
-rw-r--r--sys/fs/ntfs/ntfs_vfsops.c1
-rw-r--r--sys/fs/udf/udf_vfsops.c1
-rw-r--r--sys/gnu/fs/ext2fs/ext2_vfsops.c7
-rw-r--r--sys/gnu/fs/reiserfs/reiserfs_vfsops.c4
5 files changed, 6 insertions, 8 deletions
diff --git a/sys/fs/hpfs/hpfs_vfsops.c b/sys/fs/hpfs/hpfs_vfsops.c
index 01245796e7bf..b07898d70558 100644
--- a/sys/fs/hpfs/hpfs_vfsops.c
+++ b/sys/fs/hpfs/hpfs_vfsops.c
@@ -231,7 +231,6 @@ hpfs_mountfs(devvp, mp, td)
return (EOPNOTSUPP);
dprintf(("hpfs_mountfs():\n"));
ronly = (mp->mnt_flag & MNT_RDONLY) != 0;
- vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, td);
/* XXX: use VOP_ACCESS to check FS perms */
DROP_GIANT();
g_topology_lock();
diff --git a/sys/fs/ntfs/ntfs_vfsops.c b/sys/fs/ntfs/ntfs_vfsops.c
index 5180d830b009..cfa70a36faa6 100644
--- a/sys/fs/ntfs/ntfs_vfsops.c
+++ b/sys/fs/ntfs/ntfs_vfsops.c
@@ -272,7 +272,6 @@ ntfs_mountfs(devvp, mp, td)
char *cs_ntfs, *cs_local;
ronly = (mp->mnt_flag & MNT_RDONLY) != 0;
- vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, td);
DROP_GIANT();
g_topology_lock();
error = g_vfs_open(devvp, &cp, "ntfs", ronly ? 0 : 1);
diff --git a/sys/fs/udf/udf_vfsops.c b/sys/fs/udf/udf_vfsops.c
index 7292fc14e255..2b97c30fbbaa 100644
--- a/sys/fs/udf/udf_vfsops.c
+++ b/sys/fs/udf/udf_vfsops.c
@@ -323,7 +323,6 @@ udf_mountfs(struct vnode *devvp, struct mount *mp, struct thread *td) {
struct g_consumer *cp;
struct bufobj *bo;
- vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, td);
DROP_GIANT();
g_topology_lock();
error = g_vfs_open(devvp, &cp, "udf", 0);
diff --git a/sys/gnu/fs/ext2fs/ext2_vfsops.c b/sys/gnu/fs/ext2fs/ext2_vfsops.c
index d125a2496f46..b801b974c759 100644
--- a/sys/gnu/fs/ext2fs/ext2_vfsops.c
+++ b/sys/gnu/fs/ext2fs/ext2_vfsops.c
@@ -276,9 +276,10 @@ ext2_mount(mp, td)
if ((mp->mnt_flag & MNT_UPDATE) == 0) {
error = ext2_mountfs(devvp, mp, td);
} else {
- if (devvp != ump->um_devvp)
- error = EINVAL; /* needs translation */
- else
+ if (devvp != ump->um_devvp) {
+ vput(devvp);
+ return (EINVAL); /* needs translation */
+ } else
vput(devvp);
}
if (error) {
diff --git a/sys/gnu/fs/reiserfs/reiserfs_vfsops.c b/sys/gnu/fs/reiserfs/reiserfs_vfsops.c
index 0acaf4473b45..db9511260ee0 100644
--- a/sys/gnu/fs/reiserfs/reiserfs_vfsops.c
+++ b/sys/gnu/fs/reiserfs/reiserfs_vfsops.c
@@ -142,7 +142,8 @@ reiserfs_mount(struct mount *mp, struct thread *td)
error = reiserfs_mountfs(devvp, mp, td);
} else {
/* TODO Handle MNT_UPDATE */
- error = (EOPNOTSUPP);
+ vput(devvp);
+ return (EOPNOTSUPP);
}
if (error) {
@@ -471,7 +472,6 @@ reiserfs_mountfs(struct vnode *devvp, struct mount *mp, struct thread *td)
if (vcount(devvp) > 1)
return (EBUSY);
- vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, td);
error = vinvalbuf(devvp, V_SAVE, td->td_ucred, td, 0, 0);
if (error) {
VOP_UNLOCK(devvp, 0, td);