Re: [PATCH] kdevt-diff

H. Peter Anvin (hpa@zytor.com)
Wed, 16 Apr 2003 13:27:19 -0700


Andries Brouwer wrote:
> On Wed, Apr 16, 2003 at 09:48:16AM -0700, H. Peter Anvin wrote:
>
>
>>Not really, but it's certainly a nice capability. However, iso9660
>>(RockRidge, actually) has 64 bits of dev_t space; it's actually split
>>into two 32-bit entries specified as "high 32 bits" and "low 32 bits."
>>
>>I'm not positive if Linux expects those to contain major:minor or
>>0:<16-bit-dev_t>.
>
> case SIG('P','N'):
> { int high, low;
> high = isonum_733(rr->u.PN.dev_high);
> low = isonum_733(rr->u.PN.dev_low);
> /*
> * The Rock Ridge standard specifies that if sizeof(dev_t) <= 4,
> * then the high field is unused, and the device number is completely
> * stored in the low field. Some writers may ignore this subtlety,
> * and as a result we test to see if the entire device number is
> * stored in the low field, and use that.
> */
> if((low & ~0xff) && high == 0) {
> inode->i_rdev = mk_kdev(low >> 8, low & 0xff);
> } else {
> inode->i_rdev = mk_kdev(high, low);
> }
> }
> break;
>
> (Here isonum_733 gets 32 bits.)

OK, in other words, it accepts either format, either:

0x000000000000MMmm or 0x000000MM000000mm

This is perfectly consistent with what dev_t does for a 32:32 split; the
previous form would be the "backwards compatibility" format and the
second the "new" format.

-hpa

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/