diff options
| author | Suleiman Souhlal <ssouhlal@FreeBSD.org> | 2005-09-03 20:23:41 +0000 |
|---|---|---|
| committer | Suleiman Souhlal <ssouhlal@FreeBSD.org> | 2005-09-03 20:23:41 +0000 |
| commit | 68da388325a47f2988d278c83dcd6c0ead3c4ae6 (patch) | |
| tree | e7358d5e6b1108dc93a692e869b9e13e75eb2535 | |
| parent | 43be3aac7aa4d5989e75f763ec807f5c624478c9 (diff) | |
Notes
| -rw-r--r-- | sys/fs/hpfs/hpfs_vfsops.c | 1 | ||||
| -rw-r--r-- | sys/fs/ntfs/ntfs_vfsops.c | 1 | ||||
| -rw-r--r-- | sys/fs/udf/udf_vfsops.c | 1 | ||||
| -rw-r--r-- | sys/gnu/fs/ext2fs/ext2_vfsops.c | 7 | ||||
| -rw-r--r-- | sys/gnu/fs/reiserfs/reiserfs_vfsops.c | 4 |
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); |
