linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Theodore Ts'o <tytso@mit.edu>
To: "Dr. Tilmann Bubeck" <t.bubeck@reinform.de>
Cc: linux-ext4@vger.kernel.org
Subject: Re: Use EXT4_BOOT_LOADER_INO for boot loader GRUB?
Date: Sat, 26 Jan 2013 13:49:27 -0500	[thread overview]
Message-ID: <20130126184927.GB20005@thunk.org> (raw)
In-Reply-To: <51023FEA.7000802@reinform.de>

On Fri, Jan 25, 2013 at 09:18:50AM +0100, Dr. Tilmann Bubeck wrote:
> The basic problem is, that GRUB needs a safe place to store
> (currently 32k) for its boot loader "core.img". That place should be
> simple to find from the primary boot code ("stage1") and the place
> should be safe for user intervention.
> 
> QUESTION:
> 
> You have reserved a special inode #5 called "EXT4_BOOT_LOADER_INO".
> Is this inode currently used or supported by kernel or user land?
> What is the idea of this inode?

It was basically for something exactly like this.  :-)

> PROPOSAL:
> 
> I can think of using that inode to store the file "core.img" of
> GRUB. That file is used by GRUB to boot and the block list of that
> file is stored in GRUB when using "--force" to override the above
> error.
> 
> ext2/3/4 must make sure, that the block list of that file never
> changes. I propose an additional EXT4 ioctl to tell ext4, which file
> to store in EXT4_BOOT_LOADER_INO.

What I'm thinking about is a new ioctl that would swap the i_block and
i_blocks array of the BOOT_LOADER_INO and the file descriptor.  That
is, if there were any blocks attached to the boot_loader_ino, they
would become attached to the inode associated with the file
descriptor, and the blocks associated with that inode would be
attached to inode #5.

> Probably there must be more changes to e2fsck and friends.

Actually, no changes to e2fsck would be necessary.  The original plan
was that boot loader inode would be installed while the file system is
unmounted.  But it's already the case that blocks associated with
inode <5> are already accounted for by e2fsck.

      	      	      		       - Ted

  reply	other threads:[~2013-01-26 18:49 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-25  8:18 Use EXT4_BOOT_LOADER_INO for boot loader GRUB? Dr. Tilmann Bubeck
2013-01-26 18:49 ` Theodore Ts'o [this message]
2013-02-06  2:15   ` Phillip Susi
2013-02-19 21:15   ` Dr. Tilmann Bubeck
2013-03-18 13:26   ` Dr. Tilmann Bubeck
2013-03-18 13:51     ` Theodore Ts'o
2013-04-07  2:47     ` [PATCH -v3] ext4: implementation of a new ioctl called EXT4_IOC_SWAP_BOOT Theodore Ts'o
2013-04-07 17:09       ` Andreas Dilger
2013-04-07 19:48         ` Theodore Ts'o
2013-04-07 21:29           ` Andreas Dilger
2013-04-07 18:43       ` Dr. Tilmann Bubeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130126184927.GB20005@thunk.org \
    --to=tytso@mit.edu \
    --cc=linux-ext4@vger.kernel.org \
    --cc=t.bubeck@reinform.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).