zfs-root and "safe" atomic updates

Arnaud Houdelette tzim at tzim.net
Wed Jun 1 07:39:52 UTC 2011

On Tue, 31 May 2011 14:36:08 +0300, Andriy Gapon wrote:

> First, strictly speaking, the loader is an executable on a
> filesystem, there is no
> "loader sector".  If we consider the earlier boot stages, various
> incarnations of
> boot2 like gptzfsboot or non-MBR part of zfsboot, then it gets
> interesting for
> multi-disk configurations.  FreeBSD has its view of disks, but BIOS
> (which is used
> for disk access during boot) has its own different view of disks.  So
> it's hard
> (or impossible) to do an auto-magic thing here.  One option could be
> to force a
> user to use its superior knowledge of a system to explicitly specify
> which disk
> and which boot block should be used for nextboot-ish purposes.
> That, of course, would be prone to footshooting because of the human
> nature.  For
> example, one could specify a wrong disk, boot, see that nothing
> changed, realize
> the mistake, specify correct disk, never clean out nextboot-ish data
> on the wrong
> disk, change boot order months later and get badly hurt.  But it
> could also be
> argued that that approach would be better than nothing, which is the
> case for ZFS
> at the moment.

I didn't though of those footshooting scenarios, but it makes sense. I 
hope we'll somehow end with a proper solution.


> I've rebased the patch to the latest head:
> http://people.freebsd.org/~avg/zfsboot.diff
>> And do you still have to change vfs.root.mountfrom once currdev set 
>> ?
> That should already be included into the patch.

Ok. It seems the patch won't apply to 8-stable. How should I proceed to 
adapt it to 8-stable (if this is possible ?). Or maybe I should juste 
use HEAD loader ?

Thanks again.

Arnaud Houdelette

More information about the freebsd-stable mailing list