linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@mit.edu>
To: Al Boldi <a1426z@gawab.com>
Cc: linux-raid@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFH] Partition table recovery
Date: Fri, 20 Jul 2007 12:06:15 -0400	[thread overview]
Message-ID: <20070720160614.GG26752@thunk.org> (raw)
In-Reply-To: <200707201522.17270.a1426z@gawab.com>

On Fri, Jul 20, 2007 at 03:22:17PM +0300, Al Boldi wrote:
> 
> Oh, gpart is great, but if we had a backup copy of the partition table on 
> every partition location on disk, then this backup copy could easily be 
> reused to reconstruct the original partition table without further 
> searching.  Just like the NetWare approach, and in some respect like the 
> ext2/3 superblock backups.

It wouldn't be that hard to put a backup partition table at the
beginning of an ext2/3 filesystem.  No one is currently using the
space between offset 512 and 1023 bytes, and it would be an easy place
to stash a backup copy of the partition table.  We wouldn't be able to
use the MBR format, since information about extended partitions are
stored scattered across the disk.

So for the sake of argument, I'll propose the following partition
backup, starting at offset 512 and going for 512 bytes to byte #1023:

offset 
from 512  Description
-------   -----------
0..7      Signature ASCII: "PARTBAK1"
8..9      Part-type: 1=MBR
10	  # of heads
11	  # sectors
12	  # of partitions in the backup
13..15    Reserved (must be zero)
16..31	  first part entry
...
496..511 31st partition entry

Partition entry (16 bytes)

offset    description
------    -----------
0	  Flags
1	  Type
2..3	  Reserved (must be zero)
4..11	  Start LBA (little endian)
12..15	  # of LBA in partition

Obviously this won't work for LVM or EFI volume partition tables, but
they have enough redundancy into their on-disk formats that it
shouldn't be an issue.

Someone want to write a stand-alone function which pulls the
information from the MBR (and extended MBR's) and put it into a 512
byte buffer?  If so, I'll integrate it into mke2fs and e2fsck (so that
when the user upgrades to a new enough e2fsprogs, it will
automatically back up the partition information just before the
superblock.

						- Ted

  parent reply	other threads:[~2007-07-20 16:06 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-20  5:13 [RFH] Partion table recovery Al Boldi
2007-07-20  5:20 ` Dave Young
2007-07-20  5:57   ` Dave Young
2007-07-20 11:29   ` [RFH] Partition " Al Boldi
2007-07-20  5:25 ` [RFH] Partion " James Lamanna
2007-07-20  7:00   ` Jan-Benedict Glaw
2007-07-20 11:29   ` [RFH] Partition " Al Boldi
2007-07-20 11:53     ` Anton Altaparmakov
2007-07-20  5:35 ` [RFH] Partion " Willy Tarreau
2007-07-20  5:44   ` Dave Young
2007-07-20  7:03   ` Jan Engelhardt
2007-07-20 11:29     ` [RFH] Partition " Al Boldi
2007-07-20 11:39       ` Jan-Benedict Glaw
2007-07-20 12:22         ` Al Boldi
2007-07-20 12:29           ` Rene Herman
2007-07-20 16:06           ` Theodore Tso [this message]
2007-07-21 17:54             ` Rene Herman
     [not found]               ` <20070722011141.GJ26752@thunk.org>
2007-07-22  4:10                 ` Al Boldi
2007-07-22 16:28                   ` Theodore Tso
2007-07-22 19:05                     ` Al Boldi
2007-07-22 21:23                     ` Indan Zupancic
2007-07-23  8:15                     ` Rene Herman
2007-07-23  8:41                       ` Jan-Benedict Glaw
2007-07-23 10:54                         ` Rene Herman
2007-07-23 12:39                           ` Rene Herman
2007-07-23 13:15                             ` Jan-Benedict Glaw
2007-07-23 13:32                               ` Rene Herman
2007-07-23 20:22                           ` Bill Davidsen
2007-07-23 13:58                       ` Theodore Tso
2007-07-24  4:08                         ` Rene Herman
2007-07-22  9:11                 ` Rene Herman
     [not found]                   ` <20070722163934.GB20174@thunk.org>
     [not found]                     ` <46A45A01.5050709@gmail.com>
2007-07-23 13:48                       ` Theodore Tso
2007-07-24  3:41                         ` Rene Herman
2007-07-20  6:47 ` [RFH] Partion " Jeffrey V. Merkey
2007-07-20 11:29   ` [RFH] Partition " Al Boldi
2007-07-20  7:35 ` [RFH] Partion " Anton Altaparmakov
2007-07-21 19:40   ` Willy Tarreau
2007-07-23 20:08 ` Bill Davidsen
2007-07-24  3:45   ` Rene Herman

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=20070720160614.GG26752@thunk.org \
    --to=tytso@mit.edu \
    --cc=a1426z@gawab.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-raid@vger.kernel.org \
    /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).