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>