diff options
author | dyson <dyson@FreeBSD.org> | 1997-02-10 02:22:35 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1997-02-10 02:22:35 +0000 |
commit | 10f666af84d48e89e4e2960415c9b616fce4077f (patch) | |
tree | 88a944de263165091f0a18abeedbaaccec532407 /sys/ufs/mfs/mfs_vfsops.c | |
parent | 0960d7e91af3428ffba89b42228d82d8afaa0389 (diff) | |
download | FreeBSD-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.c | 24 |
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); } |