At my job (https://www.cybernetics.com/), I use the write()/read() interface to the SCSI generic driver for access to tape drives and tape medium changers. For example, the write()/read() interface is useful for implementing RAID-like functionality for tape drives since a single thread can send commands to multiple tape drives at once and poll() for command completion. We have a lot of code invested in this interface, so it would be a huge pain for us if it were removed. But in our case, everything runs as root (as the firmware of an embedded storage appliance), so extra permission checks should be OK. Tony Battersby Cybernetics