Messages in this thread | ![/](/images/icornerl.gif) | | Date | Wed, 16 Apr 2003 13:27:19 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH] kdevt-diff |
| |
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/
| ![\](/images/icornerr.gif) |