summaryrefslogtreecommitdiffstats
path: root/sys/ufs/mfs/mfs_vfsops.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_vfsops.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_vfsops.c')
-rw-r--r--sys/ufs/mfs/mfs_vfsops.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/sys/ufs/mfs/mfs_vfsops.c b/sys/ufs/mfs/mfs_vfsops.c
index 372d9db..3847603 100644
--- a/sys/ufs/mfs/mfs_vfsops.c
+++ b/sys/ufs/mfs/mfs_vfsops.c
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * @(#)mfs_vfsops.c 8.4 (Berkeley) 4/16/94
+ * @(#)mfs_vfsops.c 8.11 (Berkeley) 6/19/95
* $FreeBSD$
*/
@@ -84,7 +84,7 @@ static int mfs_mount __P((struct mount *mp,
static int mfs_start __P((struct mount *mp, int flags, struct proc *p));
static int mfs_statfs __P((struct mount *mp, struct statfs *sbp,
struct proc *p));
-static int mfs_init __P((void));
+static int mfs_init __P((struct vfsconf *));
/*
* mfs vfs operations.
@@ -230,8 +230,8 @@ mfs_mount(mp, path, data, ndp, p)
struct vnode *devvp;
struct mfs_args args;
struct ufsmount *ump;
- register struct fs *fs;
- register struct mfsnode *mfsp;
+ struct fs *fs;
+ struct mfsnode *mfsp;
u_int size;
int flags, err;
@@ -282,8 +282,10 @@ mfs_mount(mp, path, data, ndp, p)
/* Get vnode for root device*/
- if( bdevvp( rootdev, &rootvp))
- panic("mfs_mountroot: can't setup bdevvp for rootdev");
+ if (error = bdevvp( rootdev, &rootvp)) {
+ printf("mfs_mountroot: can't setup bdevvp for rootdev");
+ return (error);
+ }
/*
* FS specific handling
@@ -342,12 +344,7 @@ mfs_mount(mp, path, data, ndp, p)
flags = WRITECLOSE;
if (mp->mnt_flag & MNT_FORCE)
flags |= FORCECLOSE;
- if (vfs_busy(mp)) {
- err = EBUSY;
- goto error_1;
- }
err = ffs_flushfiles(mp, flags, p);
- vfs_unbusy(mp);
if (err)
goto error_1;
}
@@ -503,7 +500,7 @@ mfs_statfs(mp, sbp, p)
int error;
error = ffs_statfs(mp, sbp, p);
- sbp->f_type = MOUNT_MFS;
+ sbp->f_type = mp->mnt_vfc->vfc_typenum;
return (error);
}
@@ -511,7 +508,8 @@ mfs_statfs(mp, sbp, p)
* Memory based filesystem initialization.
*/
static int
-mfs_init()
+mfs_init(vfsp)
+ struct vfsconf *vfsp;
{
return (0);
}
OpenPOWER on IntegriCloud