Alan Cox:
On Sul, 2005-05-01 at 18:59, Richard Purdie wrote:
Solution: ide_unregister() should return failure and pass responsibility
for
handling it to ide-cs or it should always succeed. I'd favour the latter
as
the ide layer should really handle its own cleanup. Maybe a parameter
should
be added to ide_unregister() to select the behaviour if the drive is
busy/in
use? If the hardware is gone, we want it to happen regardless for
example...
This is what the -ac tree has done for some time. It tried to unregister
and
if that fails will wait and retry. It also sets the I/O operations to a
set of
null operations to ensure that there are no further unneccessary
writes/reads from the empty bus slot.
We've had this conversation before - I tried the -ac tree and found that
whilst it will retry, it blocked whilst waiting and this blocking meant the
status of the drive never changed. The "cardctl eject" command would
therefore just sit there locked up which didn't really solve my problem.
The changeover to the driver model means all the callbacks.get handled by
the kobjects and the function only needs to be called once. I applied that
patch and so far it seems to be working very well. As an added bonus,
hotunpluging is also working. I can still make it oops but seemingly not in
the ide layer any longer (now it looks vfs related :).
Regards,
Richard
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]