Tejun Heo wrote: > #1 is easy to fix but #2 requires either adding a spinlock or two atomic > variables to struct blk_queue_tag to keep the current behavior while > guaranteeing that tags are used in order. Also, there's delay between > libata marks a request complete and the request actually gets completed > and the tag is freed. If another request gets issued inbetween, the tag > number can't be guaranteed. This can be worked around by re-mapping tag > number in libata depending on command type but, well then, it's worse > than the original implementation. I think this can be made to work by making tag free synchronous (ie. doing it when the request is passed over to softirq) but I don't think things like that should go into 2.6.28 at this point. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html