10 Dec, 2009

1 commit

  • Based on patch originally by Jeff Mahoney

    enclosure_status is expected to be a NULL terminated array of strings
    but isn't actually NULL terminated. When writing an invalid value to
    /sys/class/enclosure/.../.../status, it goes off the end of the array
    and Oopses.

    Fix by making the assumption true and adding NULL at the end.

    Reported-by: Artur Wojcik
    Signed-off-by: James Bottomley

    James Bottomley
     

23 Aug, 2009

2 commits

  • Right at the moment, hot removal of a device within an enclosure does
    nothing (because the intf_remove only copes with enclosure removal not
    with component removal). Fix this by adding a function to remove the
    component. Also needed to fix the prototype of
    enclosure_remove_device, since we know the device we've removed but
    not the internal component number

    Signed-off-by: James Bottomley
    Signed-off-by: James Bottomley

    James Bottomley
     
  • In a situation either with expanders or with multiple enclosure
    devices, hot add doesn't always work. This is because we try to find
    a single enclosure device attached to the host. Fix this by looping
    over all enclosure devices attached to the host and also by making the
    find loop recognise that the enclosure devices may be expander remote
    (i.e. not parented by the host).

    Signed-off-by: James Bottomley
    Signed-off-by: James Bottomley

    James Bottomley
     

20 Apr, 2008

1 commit


08 Feb, 2008

1 commit