02 Jan, 2009

1 commit

  • As planed, this removes ide-scsi.

    The 2.6 kernel supports direct writing to ide CD drives, which
    eliminates the need for ide-scsi. ide-scsi has been unmaintained and
    marked as deprecated.

    Signed-off-by: FUJITA Tomonori
    Cc: James.Bottomley@HansenPartnership.com
    Signed-off-by: Bartlomiej Zolnierkiewicz

    FUJITA Tomonori
     

31 Dec, 2008

7 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (104 commits)
    [SCSI] fcoe: fix configuration problems
    [SCSI] cxgb3i: fix select/depend problem
    [SCSI] fcoe: fix incorrect use of struct module
    [SCSI] cxgb3i: remove use of skb->sp
    [SCSI] cxgb3i: Add cxgb3i iSCSI driver.
    [SCSI] zfcp: Remove unnecessary warning message
    [SCSI] zfcp: Add support for unchained FSF requests
    [SCSI] zfcp: Remove busid macro
    [SCSI] zfcp: remove DID_DID flag
    [SCSI] zfcp: Simplify mask lookups for incoming RSCNs
    [SCSI] zfcp: Remove initial device data from zfcp_data
    [SCSI] zfcp: fix compile warning
    [SCSI] zfcp: Remove adapter list
    [SCSI] zfcp: Simplify SBAL allocation to fix sparse warnings
    [SCSI] zfcp: register with SCSI layer on ccw registration
    [SCSI] zfcp: Fix message line break
    [SCSI] qla2xxx: changes in multiq code
    [SCSI] eata: fix the data buffer accessors conversion regression
    [SCSI] ibmvfc: Improve async event handling
    [SCSI] lpfc : correct printk types on PPC compiles
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (33 commits)
    ide-cd: remove dead dsc_overlap setting
    ide: push local_irq_{save,restore}() to do_identify()
    ide: remove superfluous local_irq_{save,restore}() from ide_dump_status()
    ide: move legacy ISA/VLB ports handling to ide-legacy.c (v2)
    ide: move Power Management support to ide-pm.c
    ide: use ATA_DMA_* defines in ide-dma-sff.c
    ide: checkpatch.pl fixes for ide-lib.c
    ide: remove inline tags from ide-probe.c
    ide: remove redundant code from ide_end_drive_cmd()
    ide: struct device - replace bus_id with dev_name(), dev_set_name()
    ide: rework handling of serialized ports (v2)
    cy82c693: remove superfluous ide_cy82c693 chipset type
    trm290: add IDE_HFLAG_TRM290 host flag
    ide: add ->max_sectors field to struct ide_port_info
    rz1000: apply chipset quirks early (v2)
    ide: always set nIEN on idle devices
    ide: fix ->quirk_list checking in ide_do_request()
    gayle: set IDE_HFLAG_SERIALIZE explictly
    cmd64x: set IDE_HFLAG_SERIALIZE explictly for CMD646
    ali14xx: doesn't use shared IRQs
    ...

    Linus Torvalds
     
  • fcoe selects libfc and requires SCSI and PCI (the SCSI requirement is
    implicitly covered by an enclosing if). Fix them both up so they
    cannot be configured in an invalid state: make LIBFC select
    SCSI_FC_ATTRS and make FCOE depend on PCI and select LIBFC.

    Reported-by: Randy Dunlap
    Cc: Robert Love
    Signed-off-by: James Bottomley

    James Bottomley
     
  • cxgb3i requires the cxgb3 net driver, so it selects it. However,
    cxgb3 has dependencies which the select cannot see. Fix this by
    separating out the cxgb3 dependencies into a separate hidden config
    option (CONFIG_CHELSIO_T3_DEPENDS) and make both cxgb3 and cxgb3i
    depend on it.

    Reported-by: Randy Dunlap
    Cc: Karen Xie
    Signed-off-by: James Bottomley

    James Bottomley
     
  • This structure may not be defined if CONFIG_MODULE=n, so never deref
    it. Change uses of module->name to module_name(module) and corrects
    some dyslexic printks and docbook comments.

    Reported-by: Randy Dunlap
    Cc: Robert Love
    Signed-off-by: James Bottomley

    James Bottomley
     
  • The cxgb3i was using skb->sp pointer for some internal book-keeping
    which is not related to the secure path. Changed it to use skb->cb[]
    instead.

    Reported-by: Randy Dunlap
    Signed-off-by: Karen Xie
    Signed-off-by: James Bottomley

    Karen Xie
     
  • This patch implements the cxgb3i iscsi connection acceleration for the
    open-iscsi initiator.

    The cxgb3i driver offers the iscsi PDU based offload:
    - digest insertion and verification
    - payload direct-placement into host memory buffer.

    Signed-off-by: Karen Xie
    Signed-off-by: James Bottomley

    Karen Xie
     

30 Dec, 2008

32 commits

  • Now that (almost) all host drivers have been fixed not to abuse ide_lock
    and core code usage of ide_lock has been sanitized we may safely replace
    ide_lock by per-hwgroup locks.

    This patch is partially based on earlier patch from Ravikiran G Thirumalai.

    While at it:
    - don't use deprecated HWIF() and HWGROUP() macros
    - update locking documentation in ide.h

    v2:
    Add missing spin_lock_init(&hwgroup->lock). (Noticed by Elias Oltmanns)

    Cc: Vaibhav V. Nivargi
    Cc: Alok N. Kataria
    Cc: Shai Fultheim
    Signed-off-by: Ravikiran Thirumalai
    Cc: Elias Oltmanns
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Following changes have been made:
    1. Scan outstanding commands only in the queue where it is submitted
    2. Update queue registers directly in the fast path
    3. Queue specific BAR is remapped only for multiq capable adapters

    Signed-off-by: Anirban Chakraborty
    Signed-off-by: James Bottomley

    Anirban Chakraborty
     
  • This fixes the regression introduced by the commit
    58e2a02eb18393e76a469580fedf7caec190eb5e (eata: convert to use the
    data buffer accessors), reported:

    http://marc.info/?t=122987621300006&r=1&w=2

    - fix DMA_NONE handling in map_dma()

    - this driver can't use scsi_dma_map since host->shost_gendev.parent
    is not set properly (it uses scsi_register).

    Signed-off-by: FUJITA Tomonori
    Reported-by: Arthur Marsh
    Tested-by: Arthur Marsh
    Cc: stable@kernel.org
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • While doing various error injection testing, such as cable
    pulls and target moves, some issues were observed in handling
    these events. This patch improves the way these events are handled
    by increasing the delay waiting for the fabric to settle and also
    changes the behavior of Link Up to break the CRQ to ensure everything
    gets cleaned up properly on the VIOS.

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

    Brian King
     
  • Signed-off-by: James Smart
    Signed-off-by: James Bottomley

    James Smart
     
  • To fix the following lockdep warning we turn the spin_unlock_irq() into
    a spin_unlock() and similarly for the corresponding spin_lock_irq(). We
    can do this because there is no need to enable interrupts in this path
    (thanks to Bring King for the tip).

    Badness at kernel/lockdep.c:2193
    NIP: c0000000000855d0 LR: c0000000000855b4 CTR: c0000000000482d0
    REGS: c00000000fffb8d0 TRAP: 0700 Not tainted (2.6.28-rc5-autokern1)
    MSR: 8000000000021032 CR: 28000022 XER: 00000004
    TASK = c00000000091fa80[0] 'swapper' THREAD: c000000000a3c000 CPU: 0
    GPR00: 0000000000000000 c00000000fffbb50 c000000000a3c2e0 0000000000000001
    GPR04: 000000000000a580 c0000000003870d4 0000000000000000 0000000000000001
    GPR08: 0000000000000000 c00000000112fdf0 c0000000008ed918 c000000000abcfd0
    GPR12: 0000000048000088 c000000000a7f300 0000000000000000 0000000002100000
    GPR16: c000000000644bd0 c000000000643390 0000000000000000 00000000003d0c00
    GPR20: 00000000028372d8 c0000000007372d8 0000000002837548 c000000000737548
    GPR24: c000000000644660 00000000028372d8 000000000000001a c000000076760000
    GPR28: 0000000000000004 c0000000004e8450 c0000000009aafb0 c00000000091fa80
    NIP [c0000000000855d0] .trace_hardirqs_on_caller+0x10c/0x194
    LR [c0000000000855b4] .trace_hardirqs_on_caller+0xf0/0x194
    Call Trace:
    [c00000000fffbb50] [c00000000fffbbe0] 0xc00000000fffbbe0 (unreliable)
    [c00000000fffbbe0] [c0000000004e8450] ._spin_unlock_irq+0x38/0x5c
    [c00000000fffbc70] [c0000000003870d4] .ipr_ioa_reset_done+0x204/0x284
    [c00000000fffbd10] [c00000000037d234] .ipr_reset_ioa_job+0xc4/0xec
    [c00000000fffbda0] [c000000000385ce0] .ipr_isr+0x208/0x484
    [c00000000fffbe50] [c0000000000aaf3c] .handle_IRQ_event+0x58/0xd4
    [c00000000fffbef0] [c0000000000ad978] .handle_fasteoi_irq+0x110/0x1ac
    [c00000000fffbf90] [c000000000025214] .call_handle_irq+0x1c/0x2c
    [c000000000a3f9a0] [c00000000000d168] .do_IRQ+0x120/0x210
    [c000000000a3fa40] [c000000000004804] hardware_interrupt_entry+0x1c/0x98
    --- Exception: 501 at .pseries_dedicated_idle_sleep+0xec/0x1cc
    LR = .pseries_dedicated_idle_sleep+0xdc/0x1cc
    [c000000000a3fd30] [c000000000038208] .pseries_dedicated_idle_sleep+0x74/0x1cc (unreliable)
    [c000000000a3fdd0] [c000000000012134] .cpu_idle+0x114/0x1dc
    [c000000000a3fe60] [c0000000004ecb18] .rest_init+0x7c/0x94
    [c000000000a3fee0] [c000000000700a40] .start_kernel+0x4b8/0x4e0
    [c000000000a3ff90] [c000000000008368] .start_here_common+0x1c/0x34
    Instruction dump:
    e92d01b0 80090894 2f800000 41be002c 481ed1d1 60000000 2fa30000 419e0080
    e93e8090 80090000 2f800000 409e0070 48000068 7fe3fb78 38800001

    Signed-off-by: Mark Nelson
    Acked-by: Brian King
    Signed-off-by: James Bottomley

    Mark Nelson
     
  • Pre-emptively terminate i/o on the rport if dev_loss_tmo has fired.
    The desire is to terminate everything, so that the i/o is cleaned up
    prior to the sdev's being unblocked, thus any outstanding timeouts/aborts
    are avoided.

    Also, we do this early enough such that the rport's port_id field is
    still valid. FCOE libFC code needs this info to find the i/o's to
    terminate.

    Signed-off-by: James Smart
    [michaelc@cs.wisc.edu: remove extra scsi_target_unblock call]
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    James Smart
     
  • Following changes have been made.
    1. qla_hw_data structure holds an array for request queue pointers,
    and an array for response queue pointers.
    2. The base request and response queues are created by default.
    3. Additional request and response queues are created at the time of vport
    creation. If queue resources are exhausted during vport creation, newly
    created vports use the default queue.
    4. Requests are sent to the request queue that the vport was assigned
    in the beginning.
    5. Responses are completed on the response queue with which the request queue
    is associated with.

    [fixup memcpy argument reversal spotted by davej@redhat.com]
    Signed-off-by: Anirban Chakraborty
    Signed-off-by: James Bottomley

    Anirban Chakraborty
     
  • Encapsulation protocol for running Fibre Channel over Ethernet interfaces.
    Creates virtual Fibre Channel host adapters using libfc.

    This layer is the LLD to the scsi-ml. It allocates the Scsi_Host, utilizes
    libfc for Fibre Channel protocol processing and interacts with netdev to
    send/receive Ethernet packets.

    Signed-off-by: Robert Love
    Signed-off-by: James Bottomley

    Robert Love
     
  • libFC is composed of 4 blocks supported by an exchange manager
    and a framing library. The upper 4 layers are fc_lport, fc_disc,
    fc_rport and fc_fcp. A LLD that uses libfc could choose to
    either use libfc's block, or using the transport template
    defined in libfc.h, override one or more blocks with its own
    implementation.

    The EM (Exchange Manager) manages exhcanges/sequences for all
    commands- ELS, CT and FCP.

    The framing library frames ELS and CT commands.

    The fc_lport block manages the library's representation of the
    host's FC enabled ports.

    The fc_disc block manages discovery of targets as well as
    handling changes that occur in the FC fabric (via. RSCN events).

    The fc_rport block manages the library's representation of other
    entities in the FC fabric. Currently the library uses this block
    for targets, its peer when in point-to-point mode and the
    directory server, but can be extended for other entities if
    needed.

    The fc_fcp block interacts with the scsi-ml and handles all
    I/O.

    Signed-off-by: Robert Love
    [jejb: added include of delay.h to fix ppc64 compile prob spotted by sfr]
    Signed-off-by: James Bottomley

    Robert Love
     
  • The ibmvscsi driver currently has a bug in it which can result
    in it using up all its event structs for commands. If something
    results in all those commands timing out, we won't have any resources
    left to send aborts or resets. This results in escalating to a host reset
    in order to recover, which is a bit heavy handed. This fixes it
    by reducing can_queue by two in order to have resources to do EH.
    It also changes the max_requests module parameter so that it is not
    writable at runtime, since the code really does not handle it changing
    at runtime.

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

    Brian King
     
  • [jejb: fix rejections]
    Signed-off-by: FUJITA Tomonori
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • This replaces st_do_scsi in st_int_ioctl with st_scsi_kern_execute.

    Signed-off-by: FUJITA Tomonori
    Acked-by: Kai Makisara
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • This replaces st_do_scsi in get_location (READ_POSITION) with
    st_scsi_kern_execute.

    Signed-off-by: FUJITA Tomonori
    Acked-by: Kai Makisara
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • This replaces st_do_scsi in write_mode_page (MODE_SELECT) with
    st_scsi_kern_execute.

    Signed-off-by: FUJITA Tomonori
    Acked-by: Kai Makisara
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • This replaces st_do_scsi in read_mode_page (MODE_SENSE) with
    st_scsi_kern_execute.

    Signed-off-by: FUJITA Tomonori
    Acked-by: Kai Makisara
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • This replaces st_do_scsi in check_tape (READ_BLOCK_LIMITS and
    MODE_SENSE) with st_scsi_kern_execute.

    Signed-off-by: FUJITA Tomonori
    Acked-by: Kai Makisara
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • This replaces st_do_scsi in st_flush (WRITE FILEMARKS) with
    st_scsi_kern_execute.

    Signed-off-by: FUJITA Tomonori
    Acked-by: Kai Makisara
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • This replaces st_do_scsi in cross_eof (SPACE) with
    st_scsi_kern_execute.

    Signed-off-by: FUJITA Tomonori
    Acked-by: Kai Makisara
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • This replaces st_do_scsi in do_load_unload (START STOP) with
    st_scsi_kern_execute.

    Signed-off-by: FUJITA Tomonori
    Acked-by: Kai Makisara
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • This replaces st_do_scsi in set_location (LOCATE 10) with
    st_scsi_kern_execute.

    Signed-off-by: FUJITA Tomonori
    Acked-by: Kai Makisara
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • This replaces st_do_scsi in test_ready (TEST_UNIT_READY) with
    st_scsi_kern_execute.

    Signed-off-by: FUJITA Tomonori
    Acked-by: Kai Makisara
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • st_scsi_kern_execute is a helper function to perform SCSI commands
    synchronously. It supports data transfer with a liner in-kernel buffer
    (not scatter gather). st_scsi_kern_execute internally uses
    scsi_execute().

    The majority of st_do_scsi can be replaced with
    st_scsi_kern_execute. This is a preparation for rewriting st_do_scsi
    to remove obsolete scsi_execute_async().

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

    FUJITA Tomonori
     
  • This moves st_request initialization code to st_allocate_request()
    form st_do_scsi(). This is a preparation for making
    st_allocate_request() usable for everyone, not only st_do_scsi().

    Signed-off-by: FUJITA Tomonori
    Acked-by: Kai Makisara
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     
  • Signed-off-by: James Smart
    Signed-off-by: James Bottomley

    James Smart
     
  • Signed-off-by: James Smart
    Signed-off-by: James Bottomley

    James Smart
     
  • Add SCSI data path, error handling, and debugfs code to complete
    BlockGuard support.

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

    James Smart
     
  • Update struct definitions, #defines, sysfs entries, and initialization
    to support BlockGuard.

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

    James Smart
     
  • - Fix mailbox buffer leak on dump mailbox completion

    - Fix mbuf leak in lpfc_pci_probe_one() SLI-2 mode error path

    - Don't allocate HBQs in interrupt context

    - Use correct size for FCP response buffer so that all available sense
    data is copied

    - Fix jiffies calculation to prevent crash when collecting statistical
    data

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

    James Smart
     
  • Per the recent discussions at the Linux Plumbers Conference, when
    enabling MSI or MSI-X, generate a test interrupt to verify the
    interrupt routing is working properly. If the test interrupt fails,
    fall back to MSI first, and if that fails as well, to INTx. If the
    interrupt test fails with INTx, log an error and fail the PCI probe.

    Also changed the use of spin_(lock|unlock) to the _irq(save|restore)
    variants in the interrupt handlers because with multi-message MSI-X,
    both interrupt handlers can now run in parallel.

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

    James Smart
     
  • - Avoid polling HBA Error Attention when HBA's PCI channel is offline
    due to PCI EEH

    - Fix handling of RSCN with non-zero event qualifiers

    - Remove unnecessary sleeps during HBA initialization which slow down
    driver load

    - Fix internal and external loopback on FCoE HBAs

    - Fix incorrect decrement of cmd_pending count in lpfc_queuecomand
    error path

    - Fix reporting of port busy events to management application

    - Rename lpfc_adjust_queue_depth() to lpfc_rampdown_queue_depth() for
    consistency with its partner lpfc_rampup_queue_depth()

    - Delete redundant lpfc_cmd->start_time = jiffies assignment in
    lpfc_queuecommand()

    - Fix handling for ELS, mailbox and heartbeat time outs in the worker
    thread by removing unnecessary checking of the work_port_events
    flags.

    - Fix NULL pointer dereference in lpfc_prep_els_iocb

    - In lpfc_device_recov_npr_node(), move clearing of NLP_NPR_2B_DISC
    flag after call to lpfc_cancel_retry_delay_tmo() to keep
    targets-in-discovery count correct

    - Remove lpfc_probe_one()'s call to scsi_scan_host() which could cause
    concurrent SCSI scans to step on each other

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

    James Smart
     
  • The phba hbq_get address was setup before the HBA reported support for
    Interrupt Enable Block (INB). This caused loopback tests to fail
    after all HBQs had been used once. Moved setting of hba_get until
    after config port mailbox command completes.

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

    James Smart