Implement raw extensions for WHOLE_DISK_SLICE device accesses for acd0.
authorMatthew Dillon <dillon@dragonflybsd.org>
Sat, 19 May 2007 02:39:05 +0000 (02:39 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sat, 19 May 2007 02:39:05 +0000 (02:39 +0000)
commit8a88e0d0ac1f770a394bddb770d0e74e7235c33f
tree8d195a00b1d89bbb5dd69e0be1fa35ad2dcc52e6
parentf16294054dbbe1d9299f9386ec7cd7a69a354d9f
Implement raw extensions for WHOLE_DISK_SLICE device accesses for acd0.
Disallow special accesses on devices that do not support the extensions.

Implement direct track reading via /dev/acd0 or /dev/acd0t* (use
MAKEDEV acd0t to create per-track devices).

Fix a few bugs with the minor device numbers generated by MAKEDEV for
/dev/acd*.  /dev/acd0a and /dev/acd0c were improperly specifying the
WHOLE_DISK_SLICE instead of the compatibility slice.

Change all mountroot operations that were trying to access disks via
RAW_PART to instead access them via WHOLE_SLICE_PART (removing more
dependancies on the old disklabel structure).

Replace the unconditional sector sanity check in dsopen() with better
sanity checks in dscheck().  The checks are not made for special
WHOLE_DISK_SLICE accesses, allowing weird sector sizes to feed through to
the device.
etc/MAKEDEV
sys/dev/disk/ata/ata-disk.c
sys/dev/disk/ata/atapi-cd.c
sys/kern/subr_diskmbr.c
sys/kern/subr_diskslice.c
sys/sys/disk.h