Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Jul 95 17:40:09 MDT
From:      terry@cs.weber.edu (Terry Lambert)
To:        hackers@freebsd.org
Cc:        terry@artisoft.com
Subject:   FS MODS TOO BIG FOR LIST -- UPLOAD WHERE?
Message-ID:  <9507182340.AA25414@cs.weber.edu>

next in thread | raw e-mail | index | archive | help
I have just completed removal of the BSD mount process dependencies
from the FFS/MFS/LFS/CD9660 code.

Where do you want the patches and who wants to do the integration
and/or code review?

In the process of reorganization, I have corrected several errors;
in particular, my original patches to MFS had some bogosities mostly
due to me copying some bogus "fixes" from one area of MFS to another.

WARNING: DO NOT USE THE PREVIOUS MFS PATCHES.  THEY WERE BASED ON
INITIALLY BUGGY MFS CODE!!!

The current code is believed to offer identical functionality to the
code it replaces while removing file system specific "frobs" for
root mounting of file systems.  This is expected to encourage future
file system writers to support root mounts immediately by moving
the majority of the work they must perform out into common code
(vfs_mountroot).

Obviously, I'd like to see the MFS and LFS pieces tested (though the
LFS piece is in fact trivial).


The following files are impacted:

/usr/include/sys/kern/vfs_conf.c
	-- vfs_mountroot routine for cojoined root mounting

/usr/include/sys/kern/init_main.c
	-- pass argument to vfs_mountroot
	-- TODO: get rid of mountroot function pointer (call
		 vfs_mountroot directly.

/usr/include/sys/sys/mount.h
	-- external global reference for mountrootvfsops
	-- TODO: get rid of global mountroot function pointer

/usr/include/sys/i386/i386/autoconf.c
	-- modifications for setting of mountrootvfsops
	-- configuration level support for mounting LFS volumes
	   as the root file system
	-- TODO: get rid of global mountroot function pointer

/usr/include/sys/ufs/ffs/ffs_vfsops.c
	-- got rid of ffs_mountroot
	-- added non-common root mount code to ffs_mount
	-- TODO: merge ffs_mount and ffs_mountfs

/usr/include/sys/ufs/lfs/lfs_vfsops.c
	-- got rid of lfs_mountroot
	-- stubbed non-common root mount code to lfs_mount
	-- TODO: merge lfs_mount and lfs_mountfs

/usr/include/sys/ufs/mfs/mfs_vfsops.c
	-- got rid of mfs_mountroot
	-- added non-common root mount code to mfs_mount
	-- TODO: merge mfs_mount and (private copy of)
	   ffs_mountfs


FUTURE:
	-- finish LFS root mount code
	-- add support for new paradigm to:
		/usr/include/sys/isofs/cd9660/cd9660_vfsops.c
		/usr/include/sys/nfs/nfs_vfsops.c

	-- add root mount support code (new paradigm) to:
		/usr/include/sys/msdosfs/msdosfs_vfsops.c
		/usr/include/sys/ufs/lfs/lfs_vfsops.c
	
	-- move all file system related code to a subdirectory
	   so that the file system may be replaced wholesale:
		/usr/include/sys/vfs/
	   at the same time, the vfs_* files in kern should be
	   moved as well.
	-- rewrite mount system call
	-- rewrite user space mount utilitie(s)
	-- provide general support for file systems as drop-in
	   modules (both kernel and user space pieces)
	-- Linux UMSDOSFS
	-- Linux EXT2FS (?)
	-- OS/2 HPFS (?)
	-- NTFS (?)
	

					Terry Lambert
					terry@cs.weber.edu
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9507182340.AA25414>