[review request] zfsboot/zfsloader: support accessing filesystems within a pool

Andriy Gapon avg at FreeBSD.org
Wed Apr 18 08:57:52 UTC 2012


on 14/04/2012 18:37 Andriy Gapon said the following:
> 
> I would like to ask for a review and/or testing of the following three patches:
> http://people.freebsd.org/~avg/zfsboot.patches.diff

I've put a new version of the patch here:
http://people.freebsd.org/~avg/zfsboot.patches.2.diff

Most prominent changes:
- new zfsloader should be compatible with previous zfsboot
- libi386 unconditionally includes zfs support via use of weak symbols for some
functions

Unfortunately, unconditional compatibility between i386_devdesc and zfs_devdesc
means that i386_devdesc becomes much larger (> 512 bytes).  But I think that it
shouldn't cause any real problems.

> These patches add support for booting from an arbitrary filesystem of any
> detected ZFS pool.  A filesystem could be selected in zfsboot and thus will
> affectfrom where zfsloader would be loaded.  zfsboot passes information about
> the boot pool and filesystem to zfsloader, which uses those for loaddev and
> default value of currdev.  A different pool+filesystem could be selected in
> zfsloader for booting kernel.  Also if vfs.root.mountfrom is not explicitly set
> and is not derived from fstab, then it gets set to the selected boot filesystem.
> 
> This should could be used as a foundation for the support of Solaris-like boot
> environment selection.  I believe that other people have already developed
> scripts utilizing ZFS capabilities to provide other aspects of management of
> boot environments.
> 
> I am particularly interested in reviews of my attempt to make ZFS boot support
> arch-independent.  The arches, of course, would have to add some code to make
> use of that support.  Currently I only enabled it for x86.
> 
> Thank you very much!


-- 
Andriy Gapon


More information about the freebsd-hackers mailing list