Subject: Re: bug#17994: Linux RAID MBR type code

From: Chris Murphy <[email-masked]>
Date: Mon, 14 Jul 2014 14:03:04 -0600

On Jul 14, 2014, at 12:55 PM, Phillip Susi <[email-masked]> wrote:
> 
> What can legitimately happen now or in the future is anything and
> everything since partition type codes are not standardized.  The
> question is, does apple actually look at the type code, or do they
> work like Linux does and probe the actual contents?

They look at the type code first. If it's a type code they support, but the partition isn't something they expect, they actively suggest the user initialize the partition. It's similar for Windows.

> In any case, if they already deal with 0xfd
> correctly, why change?

This is made clear in the mdadm page page, as well as the previously cited bug comment by Doug Ledford who is an md raid kernel developer.

>> That is a completely disingenuous reading. If you take the entire 
>> page as a whole, it's saying you can choose 0xfd with 0.9
>> metadata, or you can choose 0xda with 1.x metadata. It is not
>> suggesting use of 0xfd with 1.x metadata.
> 
> It is pretty clear to me that it is simply a suggestion and they make
> it clear that it really doesn't matter.

man 8 mdadm
"the partition type should be set to 0xDA"

Oxford American English:
should |SHo͝od|
modalverb ( 3rd sing. should )
1 used to indicate obligation, duty, or correctness,

The man page goes on to explain the problem with using 0xfd or 0x83 for 1.x metadata arrays.

>  Since it doesn't really
> matter, and there appears to be no reason to add a new code instead of
> sticking with 0xfd, I'm disinclined to needlessly complicate the
> partitioning process any further for no gain.

Right, let's wait for problems to happen rather than avoid them in the first place.

> 
>> And this has sufficiently explained the conflict with using either 
>> 0xfd or 0x83, even on Linux.
> 
> What conflict?  The only conflict I am aware of is user confusion over
> which one to use, which will only be made worse by adding yet another
> code.

All the official documentation on mdadm explicitly recommends metadata v1.2 and type code 0xda. There is no confusion on this point. Saying there is doesn't make it true.

0xfd is defined as "Linux raid autodetect" which is what parted also calls it. But mdadm metadata 1.x is not autodetect. And you're saying calling it the wrong thing is nevertheless still OK because it doesn't matter. It's fingers in the ears lalala logic.

Chris Murphy