Re: [PATCH] kdevt-diff

Andries Brouwer (aebr@win.tue.nl)
Wed, 16 Apr 2003 22:19:48 +0200


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.)

-
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/