[Btrfs-devel] Re: BTRFS partition usage...

Theodore Tso tytso at MIT.EDU
Tue Feb 12 16:45:41 PST 2008


On Tue, Feb 12, 2008 at 03:28:26PM -0800, David Miller wrote:
> From: Jan Engelhardt <jengelh at computergmbh.de>
> Date: Tue, 12 Feb 2008 15:00:20 +0100 (CET)
> 
> > Something looks wrong here. Why would btrfs need to zero at all?
> 
> So that existing superblocks on the partition won't
> be interpreted as correct by other filesystems.  It's
> a safety measure many mkfs programs use.
> 
> > Superblock at 0, and done. Just like xfs.
> 
> No, we won't do stupid things like that and make an entire
> cylinder of our disks unusable.  See my other reply.

The reason why we don't put the superblock at 0 is not because it
screws over the sparc, but because on many systems (including x86) the
bootsector is stored at 0.  It's not hard for mke2fs to zap the boot
sector which we do on all architectures *except* sparc, to avoid
nuking the disk label.  (Chris just missed the "#ifndef __sparc //
#define ZAP_BOOTBLOCK // #endif" at the beginning of mke2fs.c)

This is the best of all words; it makes sparc happy; it allows boot
loaders to put the x86 standard initial stage 0 boot loader in the
first 446 bytes of the disk; and by zapping sector 0 on all
architectures except the sparc, it solves the previous filesystem
"ghost traces" detection problem for filesystems like xfs that put the
superblock at 0.

						- Ted



More information about the Btrfs-devel mailing list