grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Environment block and LVM


From: Colin Watson
Subject: Re: Environment block and LVM
Date: Mon, 14 Jul 2014 13:03:53 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

On Mon, Jul 14, 2014 at 08:18:56AM +0000, Tuomas Räsänen wrote:
> The GRUB manual says:
> > For safety reasons, this storage is only available when installed on a
> > plain disk (no LVM or RAID), using a non-checksumming filesystem (no
> > ZFS), and using BIOS or EFI functions (no ATA, USB or IEEE1275).
> 
> However, in our systems, load_env seems to load the environment block
> from LVM without any problems. On the other hand, save_env fails.
> 
> Is load_env + LVM now supported or is there something weird going on and
> it works by accident?

This section of the manual is referring to the whole feature, including
saving.  It's true that load_env will work as long as GRUB is able to
understand the device and filesystem; but save_env has the constraints
above.

At least on checksumming filesystems and on RAID, the main reason for
not supporting this is that we have to be rather conservative about what
writes we do to avoid breaking things.  save_env is a very useful
feature, but it's not actually required to boot the system and so we
should only support it where it's safe.

In some other environments, the main reason we don't support this is
simply that it's a non-trivial amount of code that we haven't written
yet and that isn't needed for anything else.

I suspect that LVM falls into the second category rather than the first,
but Vladimir might overrule me.  If we did implement this, we would need
to be careful to ensure that the code is structured to make it very
difficult to make the mistake of writing to the wrong part of the disk
and to put suitable automatic tests in place, since we can't expect the
writing paths in GRUB to be exercised as frequently as the reading
paths.

-- 
Colin Watson                                       address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]