You don't _have_ to back out the ->special usage. As I mentioned, it was
always just a quick hack for ide-disk so I didn't have to change every
single driver out there.
There are two options, as I see it:
- Keep ata_request as an ide-disk speciality. This is pretty trivial
even though other drivers use ->special, because the ata_ar_put()
path simply needs to do
struct ata_request *ar = rq->special;
if (ar && drive->media == ide_disk)
ata_ar_put(ar);
and that is it.
- Make the ata_request the general means of passing down request in the
IDE layer -- start by making hwgroup->rq into hwgroup->ar and _never_
store ar in ->special (you don't have to, you will always just go from
ar -> rq, which is of course ar->ar_rq). This is what I wanted to do.
> The conclusion simply is: unless the above issues are fixed
> the TCQ stuff has simply to be backed out again anbd live
> separately from the main code chain. :-(.
If you didn't persist on pushing half-done stuff to Linus all the time,
I would have had the time to implement this properly... Now you keep
doing hackish work-arounds to make things limp along. So please calm
down for a moment, sick back, and think about it. It's a heck of a lot
better than going full throttle with an axe.
-- Jens Axboe- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/