12 Jul, 2008

11 commits


05 Jun, 2008

29 commits

  • Updating copyright statement to include the year 2008

    Signed-off-by: Sathya Prakash
    Signed-off-by: James Bottomley

    Prakash, Sathya
     
  • Updating driver version to 3.04.07 from 3.04.06

    Signed-off-by: Sathya Prakash
    Signed-off-by: James Bottomley

    Prakash, Sathya
     
  • drivers/s390/scsi/zfcp_dbf.c:692:2: warning: context imbalance in
    'zfcp_rec_dbf_event_thread' - different lock contexts for basic block

    Replace the parameter indicating if the lock is held with a new entry
    function that only acquires the lock. This makes the lock handling
    more visible and removes the sparse warning.

    Signed-off-by: Christof Schmitt
    Signed-off-by: Martin Peschke
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • There is no need to pack data structures which describe the
    contents of records in the new recovery trace.

    lcrash currently depends on the binary format for the other traces,
    removing the packed attribute from all traces would break trace
    debugging with lcrash.

    Signed-off-by: Martin Peschke
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Martin Peschke
     
  • This change better spreads trace levels of recovery related events.
    There was an overlap of traces for some recovery triggers and the
    processing of recovery actions.

    Signed-off-by: Martin Peschke
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Martin Peschke
     
  • Store the index of the buffer in the inbound queue used to report
    request completion in trace record for request coompletion.
    This piece of information allows to better compare qdio and zfcp traces.

    Signed-off-by: Martin Peschke
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Martin Peschke
     
  • sbal_last is more appropriate, because it matches sbal_first.

    Signed-off-by: Martin Peschke
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Martin Peschke
     
  • sbal_last is confusing, as it is not the last one actually used,
    but just a limit. sbal_limit is a better name.

    Signed-off-by: Martin Peschke
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Martin Peschke
     
  • This field is not needed, because it designates an index with a fix offset
    from sbal_first. It's name is confusing anyway.

    Signed-off-by: Martin Peschke
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Martin Peschke
     
  • Remove some sparse warnings by telling sparse that zfcp_req_create
    acquires the lock for the request queue.

    Signed-off-by: Christof Schmitt
    Signed-off-by: Martin Peschke
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • If allocation of a status buffer failed the function incorrectly
    returned 0 instead of -ENOMEM.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Peschke
    Signed-off-by: James Bottomley

    Heiko Carstens
     
  • When allocating memory for GID_PN nameserver requests, the allocation
    function stores the pointer to the mempool, but then overwrites the
    pointer via memset. Later, the wrong function to free the memory will
    be called, since this is based on the stored pointer.

    Fix this by first initializing the struct and then storing the pointer.

    Signed-off-by: Christof Schmitt
    Signed-off-by: Martin Peschke
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • Processing of an unsolicted status request can lead to a locking race
    of the request_queue's queue_lock during the recreation of the
    used up status read request while still in interrupt context
    of the response handler.

    Detaching the 'refill' of the long running status read requests from
    the handler to a scheduled work is solving this issue.

    In addition, each refill-run is trying to re-establish the full amount
    of status read requests, which might have failed in earlier runs.

    Signed-off-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Swen Schillig
     
  • This patch makes the needlessly global struct mpt_proc_root_dir static.

    Signed-off-by: Adrian Bunk
    Acked-by: "Prakash, Sathya"
    Signed-off-by: James Bottomley

    Adrian Bunk
     
  • USB sometimes doesn't return an error but instead returns a residue
    value indicating part (or all) of the command wasn't completed. So if
    the driver _done() error processing indicates the command was fully
    processed, subtract off the residue so that this USB error gets
    propagated.

    Cc: Alan Stern
    Signed-off-by: James Bottomley

    James Bottomley
     
  • power.power_state is scheduled for removal. This patch (as1055)
    removes all uses of that field from the SCSI mesh driver.

    Signed-off-by: Alan Stern
    Acked-by: Paul Mackerras
    Signed-off-by: James Bottomley

    Alan Stern
     
  • drivers/scsi/aacraid/linit.c:865:9: warning: symbol 'aac_show_serial_number' was not declared. Should it be static?

    Signed-off-by: Harvey Harrison
    Acked-by: Mark Salyzyn
    Signed-off-by: James Bottomley

    Harvey Harrison
     
  • Update the documented list of products supported by the aacraid driver.

    Signed-off-by: Mark Salyzyn
    Signed-off-by: James Bottomley

    Mark Salyzyn
     
  • The latency information is provided on a SCSI device level (LUN)
    which can be found at the following location

     /sys/class/scsi_device//device/cmd_latency
     /sys/class/scsi_device//device/read_latency
     /sys/class/scsi_device//device/write_latency

    Each sysfs attribute provides the available data: min, max and sum for
    fabric and channel latency and the number of requests processed.

    An overrun of the variables is neither detected nor treated. The file
    has to be read twice to make a meaningful statement, because only the
    differences of the values between the two reads can be used. A reset
    of the values can be achieved by writing to the attribute.

    Signed-off-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • Add the infrastructure to retrieve the fabric and channel latencies
    from FSF commands for each SCSI command that has been processed. For
    each unit, the sum, min, max and number of requests is tracked.

    Signed-off-by: Swen Schillig
    Signed-off-by: Christof Schmitt
    Signed-off-by: James Bottomley

    Christof Schmitt
     
  • This patch just removes infrastructure that provided support for hardware
    handlers in the dm layer as it is not needed anymore.

    Signed-off-by: Chandra Seetharaman
    Acked-by: Alasdair G Kergon
    Signed-off-by: James Bottomley

    Chandra Seetharaman
     
  • This patch removes the 3 hardware handlers that currently exist
    under dm as the functionality is moved to SCSI layer in the earlier
    patches.

    [jejb: removed more makefile hunks and rejection fixes]
    Signed-off-by: Chandra Seetharaman
    Acked-by: Alasdair G Kergon
    Signed-off-by: James Bottomley

    Chandra Seetharaman
     
  • This patch just removes the dm layer's path initialization completion
    routine. This is separated from the other patch(scsi_dh: Use SCSI
    device handler in dm-multipath) Just to make that patch more readable.

    Signed-off-by: Chandra Seetharaman
    Acked-by: Alasdair G Kergon
    Signed-off-by: James Bottomley

    Chandra Seetharaman
     
  • Before this patch set (SCSI hardware handlers), initialization of a
    path was done asynchronously. Doing that requires a workqueue in each
    device/hardware handler module and leads to unneccessary complication
    in the device handler code, making it difficult to read the code and
    follow the state diagram.

    Moving that workqueue to this level makes the device handler code simpler.
    Hence, the workqueue is moved to dm level.

    A new workqueue is added instead of adding it to the existing workqueue
    (kmpathd) for the following reasons:
    1. Device activation has to happen faster, stacking them along
    with the other workqueue might lead to unnecessary delay
    in the activation of the path.
    2. The effect could be felt the other way too. i.e the current
    events that are handled by the existing workqueue might get
    a delayed response.

    Signed-off-by: Chandra Seetharaman
    Acked-by: Alasdair G Kergon
    Signed-off-by: James Bottomley

    Chandra Seetharaman
     
  • This patch converts dm-mpath to use scsi device handlers instead of
    dm's hardware handlers.

    This patch does not add any new functionality. Old behaviors remain and
    userspace tools work as is except that arguments supplied with hardware
    handler are ignored.

    One behavioral exception is: Activation of a path is synchronous in this
    patch, opposed to the older behavior of being asynchronous (changed in
    patch 07: scsi_dh: Add a single threaded workqueue for initializing a path)

    Note: There is no need to get a reference for the device handler module
    (as it was done in the dm hardware handler case) here as the reference
    is held when the device was first found. Instead we check and make sure
    that support for the specified device is present at table load time.

    Signed-off-by: Chandra Seetharaman
    Signed-off-by: Mike Christie
    Acked-by: Alasdair G Kergon
    Signed-off-by: James Bottomley

    Chandra Seetharaman
     
  • This adds support for EMC Clariions. This patch has the features that
    currently exists in mainline and advanced features from Ed's patches.

    Signed-off-by: Chandra Seetharaman
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Chandra Seetharaman
     
  • This patch provides the device handler to support the older hp boxes
    which cannot be upgraded.

    Signed-off-by: Mike Christie
    Signed-off-by: Chandra Seetharaman
    Signed-off-by: James Bottomley

    Mike Christie
     
  • This patch provides the device handler to support the LSI RDAC SCSI
    based storage devices.

    Signed-off-by: Chandra Seetharaman
    Signed-off-by: James Bottomley

    Chandra Seetharaman
     
  • Some of the storage devices (that can be accessed through multiple paths),
    do need some special handling for
    1. Activating the passive path of the storage access.
    2. Decode and handle the special sense codes returned by the devices.
    3. Handle the I/Os being sent to the passive path, especially
    during the device probe time.
    when accessed through multiple paths.

    As of today this special device handling is done at the dm-multipath
    layer using dm-handlers. That works well for (1); for (2) to be handled
    at dm layer, scsi sense information need to be exported from SCSI to dm-layer,
    which is not very attractive; (3) cannot be done at all at the dm layer.

    Device handler has been moved to SCSI mainly to handle (2) and (3) properly.

    Signed-off-by: Chandra Seetharaman
    Signed-off-by: Mike Anderson
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Chandra Seetharaman