Re: IDE issues with "choose_drive"

From: Benjamin Herrenschmidt
Date: Sat Oct 08 2005 - 17:21:47 EST



> It seems we need internal ide_dev_do_request(ide_drive_t *, int)
> which will explicitly state which device we want to service as I see
> no sane way to fix the problem in choose_drive().

Not only that, but if you read my blurb, I wonder how even the
non-targetted case can work properly if we ever hit a couple of the code
path in there that either early exit because the elevator returned no
request or the case where we "sleep" a drive to give more time to the
other... I have the feeling that we may "miss" an opportunity to servive
a drive, and thus this drive will stick around with a pending request
not beeing serviced... I reckon those are corner cases, but I feel the
whole thing need some serious revisiting.

> Your workaround is OK for 2.6.14 given that you will document it
> now and later fix it properly for 2.6.15.

Ok. Well, I'm not sure what is the right fix at the moment given the
other issues I described above, but I'm definitely up to doign a proper
fix for 2.6.15 with your help ;)

Ben.


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