30 марта 2009 г. 16:33 пользователь Dmitry Fedorov <dm.fedo...@gmail.com> написал: > 30 марта 2009 г. 20:23 пользователь Иван Лох >> Исторически в ядре Linux были подсистемы SCSI и IDE, когда стали делать >> поддержку USB дисков, то ее сделали через подсистему блочных устройств SCSI. >> Потому, что там была поддержка извлекаемости. Потом туда же добавили >> поддержку >> SATA, а потом и поддержку IDE. > > Ага, а теперь попробуйте выполнить ATA-специфические ioctl > над CompactFlash через usb-адаптер и SCSI слой. > Почему об этом никто не думает?
Ответ можно найти в http://linux-ata.org/faq.html libata intentionally does not support all the HDIO_xxx ioctls that were supported by the older IDE driver. It is now preferred to use SG_IO as a generalized ATA command submission method, rather than creating a myriad of ioctls for each specific purpose. Если вам нужно послать ATA команду, то нужно использовать sdparm, SG_IO ioctl.