summaryrefslogtreecommitdiffstats
path: root/sys/ufs/mfs/mfs_vnops.c
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1997-02-10 02:22:35 +0000
committerdyson <dyson@FreeBSD.org>1997-02-10 02:22:35 +0000
commit10f666af84d48e89e4e2960415c9b616fce4077f (patch)
tree88a944de263165091f0a18abeedbaaccec532407 /sys/ufs/mfs/mfs_vnops.c
parent0960d7e91af3428ffba89b42228d82d8afaa0389 (diff)
downloadFreeBSD-src-10f666af84d48e89e4e2960415c9b616fce4077f.zip
FreeBSD-src-10f666af84d48e89e4e2960415c9b616fce4077f.tar.gz
This is the kernel Lite/2 commit. There are some requisite userland
changes, so don't expect to be able to run the kernel as-is (very well) without the appropriate Lite/2 userland changes. The system boots and can mount UFS filesystems. Untested: ext2fs, msdosfs, NFS Known problems: Incorrect Berkeley ID strings in some files. Mount_std mounts will not work until the getfsent library routine is changed. Reviewed by: various people Submitted by: Jeffery Hsu <hsu@freebsd.org>
Diffstat (limited to 'sys/ufs/mfs/mfs_vnops.c')
-rw-r--r--sys/ufs/mfs/mfs_vnops.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/sys/ufs/mfs/mfs_vnops.c b/sys/ufs/mfs/mfs_vnops.c
index 29eae7d..75ccd85 100644
--- a/sys/ufs/mfs/mfs_vnops.c
+++ b/sys/ufs/mfs/mfs_vnops.c
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * @(#)mfs_vnops.c 8.3 (Berkeley) 9/21/93
+ * @(#)mfs_vnops.c 8.11 (Berkeley) 5/22/95
* $FreeBSD$
*/
@@ -51,12 +51,6 @@
#include <ufs/mfs/mfsiom.h>
#include <ufs/mfs/mfs_extern.h>
-#if !defined(hp300) && !defined(i386) && !defined(mips) && !defined(sparc) && !defined(luna68k)
-static int mfsmap_want; /* 1 => need kernel I/O resources */
-struct map mfsmap[MFS_MAPSIZE];
-extern char mfsiobuf[];
-#endif
-
static int mfs_badop __P((void));
static int mfs_bmap __P((struct vop_bmap_args *));
static int mfs_close __P((struct vop_close_args *));
@@ -84,6 +78,7 @@ static struct vnodeopv_entry_desc mfs_vnodeop_entries[] = {
{ &vop_write_desc, (vop_t *)mfs_write }, /* write */
{ &vop_ioctl_desc, (vop_t *)mfs_ioctl }, /* ioctl */
{ &vop_select_desc, (vop_t *)mfs_select }, /* select */
+ { &vop_revoke_desc, (vop_t *)mfs_revoke }, /* revoke */
{ &vop_mmap_desc, (vop_t *)mfs_mmap }, /* mmap */
{ &vop_fsync_desc, (vop_t *)spec_fsync }, /* fsync */
{ &vop_seek_desc, (vop_t *)mfs_seek }, /* seek */
@@ -227,9 +222,9 @@ static int
mfs_bmap(ap)
struct vop_bmap_args /* {
struct vnode *a_vp;
- daddr_t a_bn;
+ ufs_daddr_t a_bn;
struct vnode **a_vpp;
- daddr_t *a_bnp;
+ ufs_daddr_t *a_bnp;
int *a_runp;
} */ *ap;
{
@@ -300,13 +295,16 @@ static int
mfs_inactive(ap)
struct vop_inactive_args /* {
struct vnode *a_vp;
+ struct proc *a_p;
} */ *ap;
{
- register struct mfsnode *mfsp = VTOMFS(ap->a_vp);
+ struct vnode *vp = ap->a_vp;
+ struct mfsnode *mfsp = VTOMFS(vp);
if (!TAILQ_EMPTY(&mfsp->buf_queue))
panic("mfs_inactive: not inactive (next buffer %p)",
TAILQ_FIRST(&mfsp->buf_queue));
+ VOP_UNLOCK(vp, 0, ap->a_p);
return (0);
}
@@ -319,9 +317,10 @@ mfs_reclaim(ap)
struct vnode *a_vp;
} */ *ap;
{
+ register struct vnode *vp = ap->a_vp;
- FREE(ap->a_vp->v_data, M_MFSNODE);
- ap->a_vp->v_data = NULL;
+ FREE(vp->v_data, M_MFSNODE);
+ vp->v_data = NULL;
return (0);
}
@@ -351,4 +350,3 @@ mfs_badop()
panic("mfs_badop called");
/* NOTREACHED */
}
-
OpenPOWER on IntegriCloud