Skip site navigation (1)Skip section navigation (2)
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>