Re: [PATCH] kdevt-diff

From: Andries Brouwer (aebr@win.tue.nl)
Date: Wed Apr 16 2003 - 15:19:48 EST


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/



This archive was generated by hypermail 2b29 : Wed Apr 23 2003 - 22:00:19 EST