Re: [PATCH] blacklist NCQ on Seagate Barracuda ST380817AS

From: Mark Lord
Date: Sun Sep 30 2007 - 13:27:09 EST


Jeff Garzik wrote:
Paolo Ornati wrote:
On Sun, 30 Sep 2007 15:29:08 +0100
Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:

Seagate Barracuda ST380817AS has troubles with NCQ. For example,
unpacking a tarball on an XFS filesystem gives this:

ata1.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x2 frozen
ata1.00: cmd 61/40:00:29:a3:98/00:00:00:00:00/40 tag 0 cdb 0x0 data 32768 out
res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
What makes you sure that is an NCQ problem ?

It goes away with:
echo 1 > /sys/block/sda/device/queue_depth

I have this problem only with XFS, and even with XFS it goes away
mounting with "nobarrier"...

This last is an interesting datapoint.

I wonder if libata has a generic problem with NCQ + FLUSH CACHE.

Yeah, that's pretty suspicious. Prior to issuing a FLUSH_CACHE op,
one must first drain all outstanding NCQ commands (and not issue new ones).

I'm sure the code must *try* to do that, but perhaps there's a bug in there?
Or just another drive bug?

??
-
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/