Significant work has been done to change the single SCSI command queue used in lk 2.2 to one command queue per device. To make the SCSI subsystem more SMP friendly the granularity of the locks is much finer grained. In lk 2.2 the whole subsystem essentially used one lock.
Even though it is not part of the SCSI subsystem, the inclusion of devfs solves many SCSI device addressing problems that existed in the past. Associated with devfs but very useful even in its absence is the "scsihosts" kernel boot time (and module load time) option. This option allows users to have some control over the ordering of multiple SCSI hosts.
This appendix is difficult to maintain since features and drivers that have proven useful in lk 2.4 (and its development tree) have tended to be back ported into the higher release numbers of the lk 2.2 series.
Currently (lk 2.4.2) support for MO devices is broken. Old DOS file systems with a block size of 2048 bytes also have been reported as broken. The problem seems to arise with media that have a physical block size larger than the 1 KB logical block size used by the block subsystem. Only the sd driver has this problem (luckily not the sr driver in which 2048 byte sectors are the norm).