Subject: bug#17994: Linux RAID MBR type code

From: Phillip Susi <[email-masked]>
Date: Mon, 14 Jul 2014 14:08:57 -0400

On 7/14/2014 12:26 PM, Chris Murphy wrote:
>> How is this at all related?  Windows already ignores 0x83.
> 
> It does not ignore EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 on GPT
> disks. Yet parted for *years* has wrongly used this type code by
> default for Linux partitions.
> 
> And this relates here because it's the same preposterously flawed 
> logic being demonstrated in your responses about this bug, which
> is that only Linux behavior matters. And complete ignorance about
> how the rest of the world does consider partition type codes
> important.

That is why we fixed that mistake, and it still has absolutely nothing
to do with this issue since Windows does not try to use 0x83 *or* 0xFD.

> The kernel for one, 0xfd applies to 0.9 metadata, not 1.x. The 
> detection and assembly methods are different. Since metadata 0.9
> is deprecated, in effect type code 0xfd is deprecated since they
> go together.

The kernel only uses 0xfd as a hint that it should look for 0.9
metadata, and only if the md driver is build in ( not a module ) and
has CONFIG_MD_AUTODETECT set.  It reads no meaning into it beyond
that.  Using 0xfd for 1.x metadata has no ill effects, and since it is
the original type code for linux raid, there does not appear to be any
reason to add yet another one.

> And for two, anything else in the world that understands Linux 
> filesystems but not Linux RAID. For example, FUSE supporting ext
> on OS X or Windows. The 0x83 type code tells them this is a Linux 
> *filesystem*. Yet it isn't. It's a RAID member. If the partition
> is an mdadm RAID1 member, such software will mount the filesystem
> as if it's a stand alone filesystem, and now the RAID is corrupt.
> So if you care to protect the array it needs to be properly set to
> 0xfd when mdadm 0.9 metadata is used, and 0xda when mdadm 1.x
> metadata is used. Using 0x83 is the wrong type code for Linux
> software RAID.

I've never tried the ext2 driver on Windows or used OSX.  I thought
they required an explicit mount command.  Are you sure that these two
OSes will automatically ( i.e. without being explicitly given a mount
command ) try to mount an md 1.x partition that has a type code of
0x83?  Even if it does, they certainly already must leave 0xFD alone,
so stick with that.

> That contradicts md developers' recommendations.
> 
> https://raid.wiki.kernel.org/index.php/Partition_Types 
> https://raid.wiki.kernel.org/index.php/Autodetect

That page starts off by saying "There is no right answer - you can
choose. "