06 Dec, 2006

10 commits


05 Dec, 2006

1 commit


04 Dec, 2006

1 commit


03 Dec, 2006

13 commits


26 Nov, 2006

4 commits

  • Makefile and Kconfig for tgt.

    Signed-off-by: Mike Christie
    Signed-off-by: FUJITA Tomonori
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • The user-space daemon and tgt kernel module need bi-directional
    kernel/user high-performance interface, however, mainline provides no
    standard interface like that.

    This patch adds shared memory interface between kernel and user spaces
    like some other drivers do by using own character device. The
    user-space daemon and tgt kernel module creates shared memory via mmap
    and use it like ring buffer. poll (kernel to user) and write (user to
    kernel) system calls are used for notification.

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • The core scsi target lib functions.

    TODO:
    - mv md/dm-bio-list.h to linux/bio-list.h so md and us do not have to
    do that weird include.
    - convert scsi_tgt_cmd's work struct to James's execute code. And try
    to kill our scsi_tgt_cmd.
    - add host state checking. We do refcouting so hotplug is partially
    supported, but we need to add state checking to make it easier on
    the LLD.

    Signed-off-by: Mike Christie
    Signed-off-by: FUJITA Tomonori
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • This patch contains the needed changes to the scsi-ml for the target
    mode support.

    Note, per the last review we moved almost all the fields we added
    to the scsi_cmnd to our internal data structure which we are going
    to try and kill off when we can replace it with support from other
    parts of the kernel.

    The one field we left on was the offset variable. This is needed to handle
    the case where the target gets request that is so large that it cannot
    execute it in one dma operation. So max_secotors or a segment limit may
    limit the size of the transfer. In this case our tgt core code will
    break up the command into managable transfers and send them to the
    LLD one at a time. The offset is then used to tell the LLD where in
    the command we are at. Is there another field on the scsi_cmd for
    that?

    Signed-off-by: Mike Christie
    Signed-off-by: FUJITA Tomonori
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     

25 Nov, 2006

1 commit

  • WARNING: drivers/scsi/initio.o - Section mismatch: reference to .init.data: from .text between 'i91u_detect' (at offset 0x26e8) and 'i91uSCBPost'
    WARNING: drivers/scsi/initio.o - Section mismatch: reference to .init.data:i91u_pci_devices from .text between 'i91u_detect' (at offset 0x26ef) and 'i91uSCBPost'

    Signed-off-by: Randy Dunlap
    Signed-off-by: James Bottomley

    Randy Dunlap
     

23 Nov, 2006

10 commits

  • Signed-off-by: Andrew Vasquez
    Signed-off-by: James Bottomley

    Andrew Vasquez
     
  • Modify intialization semantics:

    - perform basic hardware configuration only (as usual)
    - allocate resources
    - load and execute firmware

    - defer link (transport) negotiations to the DPC thread
    - again the code in qla2x00_initialize_adapter() to stall probe()
    completion was needed for legacy-style scanning.
    - DPC thread stalls until probe() complete.

    - before probe() completes, set DPC flags to perform loop-resync logic
    (similar to what's done during cable-insertion/removal).

    Benefits: user does not have to wait 20+ seconds in case the FC cable
    is unplugged during driver load, code consolidation (removal of
    redundant link negotiation logic during initialize_adaoter()), and
    finilly, the driver no longer needs to defer the fc_remote_port_add()
    calls to hold off lun-scanning prior to returning from the probe()
    function.

    Signed-off-by: Andrew Vasquez
    Signed-off-by: James Bottomley

    Andrew Vasquez
     
  • If a driver can find its own targets, it can now fill in scan_finished and
    (optionally) scan_start in the scsi_host_template. Then, when it calls
    scsi_scan_host(), it will be called back (from a thread if asynchronous
    discovery is enabled), first to start the scan, and then at intervals to
    check if the scan is completed.

    Also make scsi_prep_async_scan and scsi_finish_async_scan static.

    Signed-off-by: Matthew Wilcox
    Signed-off-by: James Bottomley

    Matthew Wilcox
     
  • Drivers that called scsi_scan_target() instead of scsi_scan_host() were
    still adding devices; this needs to be under the control of userspace,
    not the driver.

    Signed-off-by: Matthew Wilcox
    Signed-off-by: James Bottomley

    Matthew Wilcox
     
  • Without this patch, the user has to add a kernel command line parameter
    to get asynchronous SCSI scanning. Now they can select the default at
    compile time and still override it at boot time if they need to.

    Signed-off-by: Matthew Wilcox
    Signed-off-by: James Bottomley

    Matthew Wilcox
     
  • Received from Mark Salyzyn:

    Version patch, update to reflect a rough estimate of the Adaptec build
    (2423) that coincides with the sources on kernel.org.

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

    Mark Haverkamp
     
  • Received from Mark Salyzyn:

    Add code to abort outstanding management ioctl fibs when the blinkLED recovery
    is performed. This code is 'clunky' and does not have any real feedback in that
    the reset could progress before the user application has gotten it's
    notification of command completion. We put a schedule() call to delay just the
    right amount for most cases, because we tried a spin and still managed to find
    cases where we would spin forever waiting for the management application to
    acknowledge the impending doom surrounding the cause of the BlinkLED. Will
    cause an oops in the context of the management application if we proceed too
    quickly. I view this as the lesser of many evils since currently if there are
    outstanding management ioctls during a need to reset/recover the adapter, the
    management application just locks up and waits forever. The best practices fix
    for this problem not going to be simple or easy (at least the fixes I imagine
    today); and we found a balance between the needs of the driver to proceed, and
    the applications that locked or confused that would hold back the driver. I
    just do not like the idea of a kernel oops in an application to deal with low
    priority, sluggish or misbehaving applications.

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

    Mark Haverkamp
     
  • Received from Mark Salyzyn:

    Blinkled at startup is useful for catching Adapters in a lot of pain, in a
    BlinkLED assert, quickly; rather than waiting several minutes for commands to
    timeout.

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

    Mark Haverkamp
     
  • Bump driver version.

    Signed-off-by: James Bottomley

    Brian King
     
  • This patch makes ipr_ioctl static.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Brian King
    Signed-off-by: James Bottomley

    Adrian Bunk