* devices.h: Add additional SCSI disk block device numbers per

http://www.kernel.org/pub/linux/docs/device-list/devices.txt
	up to 128 devices.
	* devices.in: Ditto.
	(device::parsedisk): Add additonal else-if cases for decoding base
	and drive indices.
	* devices.cc: Regenerate.
	* dtable.cc (build_fh_pc): Add additional DEV_SD{2..7}_MAJOR cases.
This commit is contained in:
Corinna Vinschen 2006-11-23 09:55:55 +00:00
parent 729c0e6506
commit 9e3f289f51
5 changed files with 34349 additions and 6459 deletions

View File

@ -1,3 +1,14 @@
2006-11-23 Joe Loh <joel@pivot3.com>
* devices.h: Add additional SCSI disk block device numbers per
http://www.kernel.org/pub/linux/docs/device-list/devices.txt
up to 128 devices.
* devices.in: Ditto.
(device::parsedisk): Add additonal else-if cases for decoding base
and drive indices.
* devices.cc: Regenerate.
* dtable.cc (build_fh_pc): Add additional DEV_SD{2..7}_MAJOR cases.
2006-11-09 Corinna Vinschen <corinna@vinschen.de>
* autoload.cc (EqualPrefixSid): Define.

File diff suppressed because it is too large Load Diff

View File

@ -65,8 +65,20 @@ enum fh_devices
DEV_SD_MAJOR = 8,
DEV_SD1_MAJOR = 65,
DEV_SD2_MAJOR = 66,
DEV_SD3_MAJOR = 67,
DEV_SD4_MAJOR = 68,
DEV_SD5_MAJOR = 69,
DEV_SD6_MAJOR = 70,
DEV_SD7_MAJOR = 71,
FH_SD = FHDEV (DEV_SD_MAJOR, 0),
FH_SD1 = FHDEV (DEV_SD1_MAJOR, 0),
FH_SD2 = FHDEV (DEV_SD2_MAJOR, 0),
FH_SD3 = FHDEV (DEV_SD3_MAJOR, 0),
FH_SD4 = FHDEV (DEV_SD4_MAJOR, 0),
FH_SD5 = FHDEV (DEV_SD5_MAJOR, 0),
FH_SD6 = FHDEV (DEV_SD6_MAJOR, 0),
FH_SD7 = FHDEV (DEV_SD7_MAJOR, 0),
FH_SDA = FHDEV (DEV_SD_MAJOR, 0),
FH_SDB = FHDEV (DEV_SD_MAJOR, 16),
FH_SDC = FHDEV (DEV_SD_MAJOR, 32),
@ -93,6 +105,108 @@ enum fh_devices
FH_SDX = FHDEV (DEV_SD1_MAJOR, 112),
FH_SDY = FHDEV (DEV_SD1_MAJOR, 128),
FH_SDZ = FHDEV (DEV_SD1_MAJOR, 144),
FH_SDAA = FHDEV (DEV_SD1_MAJOR, 160),
FH_SDAB = FHDEV (DEV_SD1_MAJOR, 176),
FH_SDAC = FHDEV (DEV_SD1_MAJOR, 192),
FH_SDAD = FHDEV (DEV_SD1_MAJOR, 208),
FH_SDAE = FHDEV (DEV_SD1_MAJOR, 224),
FH_SDAF = FHDEV (DEV_SD1_MAJOR, 240),
FH_SDAG = FHDEV (DEV_SD2_MAJOR, 0),
FH_SDAH = FHDEV (DEV_SD2_MAJOR, 16),
FH_SDAI = FHDEV (DEV_SD2_MAJOR, 32),
FH_SDAJ = FHDEV (DEV_SD2_MAJOR, 48),
FH_SDAK = FHDEV (DEV_SD2_MAJOR, 64),
FH_SDAL = FHDEV (DEV_SD2_MAJOR, 80),
FH_SDAM = FHDEV (DEV_SD2_MAJOR, 96),
FH_SDAN = FHDEV (DEV_SD2_MAJOR, 112),
FH_SDAO = FHDEV (DEV_SD2_MAJOR, 128),
FH_SDAP = FHDEV (DEV_SD2_MAJOR, 144),
FH_SDAQ = FHDEV (DEV_SD2_MAJOR, 160),
FH_SDAR = FHDEV (DEV_SD2_MAJOR, 176),
FH_SDAS = FHDEV (DEV_SD2_MAJOR, 192),
FH_SDAT = FHDEV (DEV_SD2_MAJOR, 208),
FH_SDAU = FHDEV (DEV_SD2_MAJOR, 224),
FH_SDAV = FHDEV (DEV_SD2_MAJOR, 240),
FH_SDAW = FHDEV (DEV_SD3_MAJOR, 0),
FH_SDAX = FHDEV (DEV_SD3_MAJOR, 16),
FH_SDAY = FHDEV (DEV_SD3_MAJOR, 32),
FH_SDAZ = FHDEV (DEV_SD3_MAJOR, 48),
FH_SDBA = FHDEV (DEV_SD3_MAJOR, 64),
FH_SDBB = FHDEV (DEV_SD3_MAJOR, 80),
FH_SDBC = FHDEV (DEV_SD3_MAJOR, 96),
FH_SDBD = FHDEV (DEV_SD3_MAJOR, 112),
FH_SDBE = FHDEV (DEV_SD3_MAJOR, 128),
FH_SDBF = FHDEV (DEV_SD3_MAJOR, 144),
FH_SDBG = FHDEV (DEV_SD3_MAJOR, 160),
FH_SDBH = FHDEV (DEV_SD3_MAJOR, 176),
FH_SDBI = FHDEV (DEV_SD3_MAJOR, 192),
FH_SDBJ = FHDEV (DEV_SD3_MAJOR, 208),
FH_SDBK = FHDEV (DEV_SD3_MAJOR, 224),
FH_SDBL = FHDEV (DEV_SD3_MAJOR, 240),
FH_SDBM = FHDEV (DEV_SD4_MAJOR, 0),
FH_SDBN = FHDEV (DEV_SD4_MAJOR, 16),
FH_SDBO = FHDEV (DEV_SD4_MAJOR, 32),
FH_SDBP = FHDEV (DEV_SD4_MAJOR, 48),
FH_SDBQ = FHDEV (DEV_SD4_MAJOR, 64),
FH_SDBR = FHDEV (DEV_SD4_MAJOR, 80),
FH_SDBS = FHDEV (DEV_SD4_MAJOR, 96),
FH_SDBT = FHDEV (DEV_SD4_MAJOR, 112),
FH_SDBU = FHDEV (DEV_SD4_MAJOR, 128),
FH_SDBV = FHDEV (DEV_SD4_MAJOR, 144),
FH_SDBW = FHDEV (DEV_SD4_MAJOR, 160),
FH_SDBX = FHDEV (DEV_SD4_MAJOR, 176),
FH_SDBY = FHDEV (DEV_SD4_MAJOR, 192),
FH_SDBZ = FHDEV (DEV_SD4_MAJOR, 208),
FH_SDCA = FHDEV (DEV_SD4_MAJOR, 224),
FH_SDCB = FHDEV (DEV_SD4_MAJOR, 240),
FH_SDCC = FHDEV (DEV_SD5_MAJOR, 0),
FH_SDCD = FHDEV (DEV_SD5_MAJOR, 16),
FH_SDCE = FHDEV (DEV_SD5_MAJOR, 32),
FH_SDCF = FHDEV (DEV_SD5_MAJOR, 48),
FH_SDCG = FHDEV (DEV_SD5_MAJOR, 64),
FH_SDCH = FHDEV (DEV_SD5_MAJOR, 80),
FH_SDCI = FHDEV (DEV_SD5_MAJOR, 96),
FH_SDCJ = FHDEV (DEV_SD5_MAJOR, 112),
FH_SDCK = FHDEV (DEV_SD5_MAJOR, 128),
FH_SDCL = FHDEV (DEV_SD5_MAJOR, 144),
FH_SDCM = FHDEV (DEV_SD5_MAJOR, 160),
FH_SDCN = FHDEV (DEV_SD5_MAJOR, 176),
FH_SDCO = FHDEV (DEV_SD5_MAJOR, 192),
FH_SDCP = FHDEV (DEV_SD5_MAJOR, 208),
FH_SDCQ = FHDEV (DEV_SD5_MAJOR, 224),
FH_SDCR = FHDEV (DEV_SD5_MAJOR, 240),
FH_SDCS = FHDEV (DEV_SD6_MAJOR, 0),
FH_SDCT = FHDEV (DEV_SD6_MAJOR, 16),
FH_SDCU = FHDEV (DEV_SD6_MAJOR, 32),
FH_SDCV = FHDEV (DEV_SD6_MAJOR, 48),
FH_SDCW = FHDEV (DEV_SD6_MAJOR, 64),
FH_SDCX = FHDEV (DEV_SD6_MAJOR, 80),
FH_SDCY = FHDEV (DEV_SD6_MAJOR, 96),
FH_SDCZ = FHDEV (DEV_SD6_MAJOR, 112),
FH_SDDA = FHDEV (DEV_SD6_MAJOR, 128),
FH_SDDB = FHDEV (DEV_SD6_MAJOR, 144),
FH_SDDC = FHDEV (DEV_SD6_MAJOR, 160),
FH_SDDD = FHDEV (DEV_SD6_MAJOR, 176),
FH_SDDE = FHDEV (DEV_SD6_MAJOR, 192),
FH_SDDF = FHDEV (DEV_SD6_MAJOR, 208),
FH_SDDG = FHDEV (DEV_SD6_MAJOR, 224),
FH_SDDH = FHDEV (DEV_SD6_MAJOR, 240),
FH_SDDI = FHDEV (DEV_SD7_MAJOR, 0),
FH_SDDJ = FHDEV (DEV_SD7_MAJOR, 16),
FH_SDDK = FHDEV (DEV_SD7_MAJOR, 32),
FH_SDDL = FHDEV (DEV_SD7_MAJOR, 48),
FH_SDDM = FHDEV (DEV_SD7_MAJOR, 64),
FH_SDDN = FHDEV (DEV_SD7_MAJOR, 80),
FH_SDDO = FHDEV (DEV_SD7_MAJOR, 96),
FH_SDDP = FHDEV (DEV_SD7_MAJOR, 112),
FH_SDDQ = FHDEV (DEV_SD7_MAJOR, 128),
FH_SDDR = FHDEV (DEV_SD7_MAJOR, 144),
FH_SDDS = FHDEV (DEV_SD7_MAJOR, 160),
FH_SDDT = FHDEV (DEV_SD7_MAJOR, 176),
FH_SDDU = FHDEV (DEV_SD7_MAJOR, 192),
FH_SDDV = FHDEV (DEV_SD7_MAJOR, 208),
FH_SDDW = FHDEV (DEV_SD7_MAJOR, 224),
FH_SDDX = FHDEV (DEV_SD7_MAJOR, 240),
FH_MEM = FHDEV (1, 1),
FH_KMEM = FHDEV (1, 2), /* not implemented yet */

View File

@ -85,7 +85,15 @@ const device dev_bad_storage =
"/dev/scd%(0-15)d", BRACK(FHDEV(DEV_CDROM_MAJOR, {$1})), "\\Device\\CdRom{$1}"
"/dev/sr%(0-15)d", BRACK(FHDEV(DEV_CDROM_MAJOR, {$1})), "\\Device\\CdRom{$1}"
"/dev/sd%{a-z}s", BRACK(FH_SD{uc $1}), "\\Device\\Harddisk{ord($1) - ord('a')}\\Partition0"
"/dev/sda%{a-z}s", BRACK(FH_SDA{uc $1}), "\\Device\\Harddisk{26 + ord($1) - ord('a')}\\Partition0"
"/dev/sdb%{a-z}s", BRACK(FH_SDB{uc $1}), "\\Device\\Harddisk{52 + ord($1) - ord('a')}\\Partition0"
"/dev/sdc%{a-z}s", BRACK(FH_SDC{uc $1}), "\\Device\\Harddisk{78 + ord($1) - ord('a')}\\Partition0"
"/dev/sdd%{a-x}s", BRACK(FH_SDD{uc $1}), "\\Device\\Harddisk{104 + ord($1) - ord('a')}\\Partition0"
"/dev/sd%{a-z}s%(1-15)d", BRACK(FH_SD{uc $1} | {$2}), "\\Device\\Harddisk{ord($1) - ord('a')}\\Partition{$2 % 16}"
"/dev/sda%{a-z}s%(1-15)d", BRACK(FH_SDA{uc $1} | {$2}), "\\Device\\Harddisk{26 + ord($1) - ord('a')}\\Partition{$2 % 16}"
"/dev/sdb%{a-z}s%(1-15)d", BRACK(FH_SDB{uc $1} | {$2}), "\\Device\\Harddisk{52 + ord($1) - ord('a')}\\Partition{$2 % 16}"
"/dev/sdc%{a-z}s%(1-15)d", BRACK(FH_SDC{uc $1} | {$2}), "\\Device\\Harddisk{78 + ord($1) - ord('a')}\\Partition{$2 % 16}"
"/dev/sdd%{a-x}s%(1-15)d", BRACK(FH_SDD{uc $1} | {$2}), "\\Device\\Harddisk{104 + ord($1) - ord('a')}\\Partition{$2 % 16}"
"/dev/kmsg", BRACK(FH_KMSG), "\\\\.\\mailslot\\cygwin\\dev\\kmsg"
"/dev", BRACK(FH_DEV), "/dev"
%other {return NULL;}
@ -146,12 +154,44 @@ void
device::parsedisk (int drive, int part)
{
int base;
if (drive < ('q' - 'a'))
if (drive < ('q' - 'a')) /* /dev/sda -to- /dev/sdp */
base = DEV_SD_MAJOR;
else
else if (drive < 32) /* /dev/sdq -to- /dev/sdaf */
{
base = DEV_SD1_MAJOR;
drive -= 'q' - 'a';
}
else if (drive < 48) /* /dev/sdag -to- /dev/sdav */
{
base = DEV_SD2_MAJOR;
drive -= 32;
}
else if (drive < 64) /* /dev/sdaw -to- /dev/sdbl */
{
base = DEV_SD3_MAJOR;
drive -= 48;
}
else if (drive < 80) /* /dev/sdbm -to- /dev/sdcb */
{
base = DEV_SD4_MAJOR;
drive -= 64;
}
else if (drive < 96) /* /dev/sdcc -to- /dev/sdcr */
{
base = DEV_SD5_MAJOR;
drive -= 80;
}
else if (drive < 112) /* /dev/sdcs -to- /dev/sddh */
{
base = DEV_SD6_MAJOR;
drive -= 96;
}
/* NOTE: This will cause multiple /dev/sddx entries in
/proc/partitions if there are more than 128 devices */
else /* /dev/sddi -to- /dev/sddx */
{
base = DEV_SD7_MAJOR;
drive -= 112;
}
parse (base, part + (drive * 16));
}

View File

@ -384,6 +384,12 @@ build_fh_pc (path_conv& pc)
case DEV_CDROM_MAJOR:
case DEV_SD_MAJOR:
case DEV_SD1_MAJOR:
case DEV_SD2_MAJOR:
case DEV_SD3_MAJOR:
case DEV_SD4_MAJOR:
case DEV_SD5_MAJOR:
case DEV_SD6_MAJOR:
case DEV_SD7_MAJOR:
fh = cnew (fhandler_dev_floppy) ();
break;
case DEV_TAPE_MAJOR: