[lkml]   [2008]   [Jun]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] IDE: Fix HDIO_DRIVE_RESET handling
    "Bartlomiej Zolnierkiewicz" <> wrote:
    > On Tue, Jun 24, 2008 at 3:35 PM, Alan Cox <> 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).



     \ /
      Last update: 2008-06-25 13:27    [W:0.022 / U:55.556 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site