Date: Thu, 27 Jul 95 1:14:04 MDT From: terry@cs.weber.edu (Terry Lambert) To: hackers@freebsd.org Subject: FS MOUNTROOT MODS ON FREEFALL Message-ID: <9507270714.AA28350@cs.weber.edu>
next in thread | raw e-mail | index | archive | help
The file ~terry/root_mods.tar on freefall.cdrom.com contains the initial file system modifications for the updated root mount code. The unmodified code has not been broken. This means that there's still a global function mountroot that is set in i386/i386/autoconf.c, and there is (in addition) a new global mountrootvfsops. This is basically grandfather support for the MSDOSFS root mount (which appears unusable), the CD9660 root mount (which appears to need flags instead of autodetecting the file system type like it should) and the NFS, which is just plain too bizarre for words. So nothing is broken by these patches, but the NFS, MSDOSFS, and CD9660FS changes will have to wait until later before autoconf can really be cleaned up. What is changed is that there is no longer an ffs_mountroot, an mfs_mountroot, or an lfs_mountroot; they've been rolled into the XXX_mount on a per fs type basis. There's a new routine in the vfs_conf.c file (seemed the most appropriate place; I didn't want to mix it in with the system calls) call vfs_mountroot that takes a vfsops vector as an argument. The vfs_unmountroot probably ought to be moved to the same file as vfs_mountroot, in any case. This makes root mount totally seperate from non-root mount, logically making the FS code more standalone and making the BSD code easier to hack on if you want to replace the whole VFS concept wholesale (for instance, you wanted to ROM BSD for a palm-top). The device definition really wants to move out of the file system specific code; for now I've left it in pending a cleanup of the NFS root mount. I expect there to be the concept of local (has a device node) media and non-local (network) media for a root device. The generalization of the root mount after the device move out of the per FS specific routines buys the ability to support multiple "root" devices in bsd, simultaneously. The intent with allowing (but not yet using) this is to allow for AFS style nomadic computing. Eventually, I'd like to see the mount of a file system and its attachment into a directory tree covering a vnode completely logically seperated. The goal is eventual support for nomadic computing and intermittant network connectivity coupled with local file replication with synchronization on reconnect. I've included the full text of the modified files, since I know that there has been some recent bug tracking in the v_data stuff in the ffs_vfsops in particular, and to preserve the $Id stuff for comparison purposes. Next stop will be either the mount system call and associated user space utilties, or the MSDOSFS. Is anyone working on code for the extended partition device level support? 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?9507270714.AA28350>