Re: [PATCH 1/2] Avoid bio_endio recursion

From: Mikulas Patocka
Date: Thu Jul 03 2008 - 18:56:18 EST


On Thu, 3 Jul 2008, Alan Cox wrote:

I use the old IDE driver, I don't see a reason why driver should create
SCSI requests and lower layer translate them to ATA commands.

Because modern drives are basically SCSI devices. Once you turn on NCQ
and stuff you need all the midlayer queueing magic ...

There is no piece of SCSI protocol in SATA disks. The command and response FIS of SATA standard contain legacy IDE registers, there's nothing about SCSI. Even the NCQ commands are done via IDE registers, not SCSI command block. It seems like someone wanted to save few weeks of coding by reusing the SCSI disk queuing ... and created a lot of other problems (example: if you have disk error with IDE driver, it dumps IDE registers into log ... if you have disk error with SATA driver, it dumps sense key ... but there's no sense key in SATA standard ... the driver just had to make up one because it pretends to be SCSI).

Mikulas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/