lkml.org 
[lkml]   [2008]   [Jun]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH] IDE: Fix HDIO_DRIVE_RESET handling
Date
"Bartlomiej Zolnierkiewicz" <bzolnier@gmail.com> wrote:
> On Tue, Jun 24, 2008 at 3:35 PM, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
>>> > I don't see why you think it's "hard". We have timeout handlers for many
>
>>> > commands and those reset/abort just fine.
>>>
>>> They are different beasts from user-space initiated abort operation
>>
>> No they are not. They are the *same* thing in every respect.
>>
>> You have the drive in an unknown state, you want it back. If your drive
>> lost a command due to noise or a firmware flaw you have no idea about the
>> state it is actually in (supposed to be is irrelevant)
>
> I generally agree with you w.r.t. to drive side of the operations but
> the drive is only part of the equation (the host and the request states
> are the others) so 'supposed to be is' is quite relevant.
>
> Also abort request can happen i.e. while the command is being prepared
> & issued (it is done without ide_lock being taken and the timeout is not
> even armed yet) so there are additional issues to take care of.

Yes there are. Still, I think it should be feasible which is why I
personally would prefer to drop the second patch in the series for the
time being. But then I can keep it around for reference locally and the
original infrastructure can be found in the history after all.

Even though the patch series currently doesn't fully restore the
intended functionality, I'd like to merge it now. Command aborting
didn't work reliably (if at all) before and now, at least, a simple
ioctl won't harm a healthy system anymore. Since I think that we can add
command aborting back later, I'd like to keep the HDIO_DRIVE_RESET ioctl
even if it should currently be superfluous given SG_IO.

So, here comes the second run of the patch series based on
next-20080624. All suggested changes have been incorporated except for
one additional check for ->rq_disk which I consider unnecessary (and you
haven't insisted on it). In particular, this means that in the second
patch the ->resetting member has been removed from the ide_hwgroup_t
structure for completeness' sake (even though I'm not all in favour of
applying that second patch just yet).

Regards,

Elias


\
 
 \ /
  Last update: 2008-06-25 13:27    [from the cache]
©2003-2011 Jasper Spaans. Advertise on this site