large device major/minor numbers not supported

Egmont Koblinger egmont at uhulinux.hu
Sun Jan 9 18:22:49 UTC 2005


Hi,

With recent Linux kernels and glibc, devices major and minor numbers are not
limited to 1 byte each, instead they can have 12 and 20 bits, respectively.
The major(), minor() and makedev() macros of glibc (sys/sysmacros.h) are
aware of this, and also coreutils 5.2 supports them correctly:

root# mknod /dev/foobar c 4095 1048575
root# ls -l /dev/foobar
crw-r--r--  1 root root 4095, 1048575 2005-01-09 19:10 /dev/foobar

However, mc (tested with 4.6.0 and 4.6.1-pre2) does not support these large
device numbers, it only shows the two numbers modulo 256 (that is,

|-foobar           |255,255|jan  9 19:10|

in the above case). This can be quite misleading...



bye,

Egmont



More information about the mc-devel mailing list