Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Jun 1995 19:25:40 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        jkh@freefall.cdrom.com, taob@gate.sinica.edu.tw
Cc:        dufault@hda.com, freebsd-hackers@freebsd.org
Subject:   Re: Install bug for big minor numbers
Message-ID:  <199506070925.TAA10819@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>    I would rather see the /dev entries completely removed from the
>tarball and have MAKEDEV run unconditionally (I don't find it takes
>*that* long, compared to tarball extraction).  Or fix tar so that it
>handles large minor numbers.  Poking around in port.h (of the tar
>sources), I see:

Tar can't handle large minor numbers.  The format has only 6 octal
digits so it can only handle 18 bits (what a waste of 6 bytes).
The default cpio format can only handle 8 bits.

>#define minor(dev)  ((dev) & 0xff)

>   ... where in <sys/types.h> they are declared as:

>#define minor(x)    ((int)((x)&0xffff00ff))     /* minor number */

>    The define is bracketed by an #ifndef HAVE_MAJOR, so it may not
>be called at all, but I haven't tried it.  It just looked like an
>obvious candidate, with the conflicting bitmasks.

tar uses the right define.  For total brokenness, see the pax sources.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199506070925.TAA10819>