- 30 Dec, 2008 3 commits
-
-
James Bottomley authored
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 <randy.dunlap@oracle.com> Cc: Robert Love <robert.w.love@intel.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Karen Xie authored
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 <randy.dunlap@oracle.com> Signed-off-by:
Karen Xie <kxie@chelsio.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Karen Xie authored
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 <kxie@chelsio.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
- 29 Dec, 2008 37 commits
-
-
Christof Schmitt authored
Remove a message that was emitted for a port that could not initially be opened. This is a rare case when the port discovery hits an initiator port and only confuses the user with an initator port logged in the message. Remove the whole special case: The failed "open port" request triggers required follow-up actions anyway. Signed-off-by:
Christof Schmitt <christof.schmitt@de.ibm.com> Acked-by:
Felix Beck <felix@linux.vnet.ibm.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Christof Schmitt authored
Add the support to send CT and ELS requests as unchained FSF requests. This is required for older hardware and was somehow omitted during the cleanup of the FSF layer. The req_count and resp_count attributes are unused, so remove them instead of adding a special case for setting them. Also add debug data and a warning, when the ct request hits a limit. Signed-off-by:
Christof Schmitt <christof.schmitt@de.ibm.com> Acked-by:
Martin Petermann <martin@linux.vnet.ibm.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Christof Schmitt authored
With the change to the dev_ message macros, the macro to get the busid is only used in a few places. Remove it and directly get the dev_name from the device. Signed-off-by:
Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Christof Schmitt authored
The port flag DID_DID indicates whether we know the current id of the port. This is always set in parallel. Since the id 0 is invalid (because the port id 0 is invalid) we can remove the DID_DID flag: d_id of 0 indicates an invalid d_id != 0 is a valid one. Signed-off-by:
Christof Schmitt <christof.schmitt@de.ibm.com> Acked-by:
Felix Beck <felix@linux.vnet.ibm.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Christof Schmitt authored
Use an array for looking up the mask corresponding to the 2-bit information instead of the switch/case. Signed-off-by:
Christof Schmitt <christof.schmitt@de.ibm.com> Acked-by:
Felix Beck <felix@linux.vnet.ibm.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Christof Schmitt authored
The information from the kernel parameter is only needed during init. Keep the three pieces (busid, wwpn and lun) local to simplify the global zfcp_data structures. While at it, also remove the unused loglevel variable and give the module parameter variable a better name. Signed-off-by:
Christof Schmitt <christof.schmitt@de.ibm.com> Acked-by:
Felix Beck <felix@linux.vnet.ibm.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Heiko Carstens authored
Get rid of this one: drivers/s390/scsi/zfcp_erp.c: In function 'zfcp_erp_thread': drivers/s390/scsi/zfcp_erp.c:1400: warning: ignoring return value of 'down_interruptible', declared with attribute warn_unused_result zfcp_erp_thread is a kernel thread which can't receive any signals. So introduce a dummy variable and get rid of the warning. Signed-off-by:
Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by:
Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Christof Schmitt authored
After the latest changes, the list of FCP devices is only used to lookup the adapter for requests from the actcli tool. Change this to use the lookup function in the cio layer. Now we can remove the adapter list and have one place less to use the global config_lock. Signed-off-by:
Christof Schmitt <christof.schmitt@de.ibm.com> Acked-by:
Felix Beck <felix@linux.vnet.ibm.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Christof Schmitt authored
When waiting for a request claim the SBAL before waiting. This way, locking before each check of the free counter is not required and sparse does not emit warnings for the complicated locking scheme. Signed-off-by:
Christof Schmitt <christof.schmitt@de.ibm.com> Acked-by:
Felix Beck <felix@linux.vnet.ibm.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Swen Schillig authored
Synchronize the registration and de-registration with the SCSI layer at CCW registration, de-registration. Before we registered with the SCSI layer on adapter activation. This way the reg and de-reg process is in balance. Signed-off-by:
Swen Schillig <swen@vnet.ibm.com> Signed-off-by:
Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Christof Schmitt authored
Move the closing parenthesis before the line break. Signed-off-by:
Christof Schmitt <christof.schmitt@de.ibm.com> Acked-by:
Felix Beck <felix@linux.vnet.ibm.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Anirban Chakraborty authored
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 <anirban.chakraborty@qlogic.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
FUJITA Tomonori authored
This fixes the regression introduced by the commit 58e2a02e (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 <fujita.tomonori@lab.ntt.co.jp> Reported-by:
Arthur Marsh <arthur.marsh@internode.on.net> Tested-by:
Arthur Marsh <arthur.marsh@internode.on.net> Cc: stable@kernel.org Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Brian King authored
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 <brking@linux.vnet.ibm.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
James Smart authored
Signed-off-by:
James Smart <james.smart@emulex.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Mark Nelson authored
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 <ME,IR,DR> 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 <0fe00000> 48000068 7fe3fb78 38800001 Signed-off-by:
Mark Nelson <markn@au1.ibm.com> Acked-by:
Brian King <brking@linux.vnet.ibm.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
James Smart authored
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 <james.smart@emulex.com> [michaelc@cs.wisc.edu: remove extra scsi_target_unblock call] Signed-off-by:
Mike Christie <michaelc@cs.wisc.edu> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Anirban Chakraborty authored
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 <anirban.chakraborty@qlogic.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Robert Love authored
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 <robert.w.love@intel.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Robert Love authored
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 <robert.w.love@intel.com> [jejb: added include of delay.h to fix ppc64 compile prob spotted by sfr] Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Robert Love authored
Signed-off-by:
Robert Love <robert.w.love@intel.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
Brian King authored
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 <brking@linux.vnet.ibm.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
FUJITA Tomonori authored
[jejb: fix rejections] Signed-off-by:
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
FUJITA Tomonori authored
This replaces st_do_scsi in st_int_ioctl with st_scsi_kern_execute. Signed-off-by:
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by:
Kai Makisara <Kai.Makisara@kolumbus.fi> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
FUJITA Tomonori authored
This replaces st_do_scsi in get_location (READ_POSITION) with st_scsi_kern_execute. Signed-off-by:
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by:
Kai Makisara <Kai.Makisara@kolumbus.fi> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
FUJITA Tomonori authored
This replaces st_do_scsi in write_mode_page (MODE_SELECT) with st_scsi_kern_execute. Signed-off-by:
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by:
Kai Makisara <Kai.Makisara@kolumbus.fi> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
FUJITA Tomonori authored
This replaces st_do_scsi in read_mode_page (MODE_SENSE) with st_scsi_kern_execute. Signed-off-by:
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by:
Kai Makisara <Kai.Makisara@kolumbus.fi> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
FUJITA Tomonori authored
This replaces st_do_scsi in check_tape (READ_BLOCK_LIMITS and MODE_SENSE) with st_scsi_kern_execute. Signed-off-by:
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by:
Kai Makisara <Kai.Makisara@kolumbus.fi> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
FUJITA Tomonori authored
This replaces st_do_scsi in st_flush (WRITE FILEMARKS) with st_scsi_kern_execute. Signed-off-by:
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by:
Kai Makisara <Kai.Makisara@kolumbus.fi> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
FUJITA Tomonori authored
This replaces st_do_scsi in cross_eof (SPACE) with st_scsi_kern_execute. Signed-off-by:
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by:
Kai Makisara <Kai.Makisara@kolumbus.fi> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
FUJITA Tomonori authored
This replaces st_do_scsi in do_load_unload (START STOP) with st_scsi_kern_execute. Signed-off-by:
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by:
Kai Makisara <Kai.Makisara@kolumbus.fi> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
FUJITA Tomonori authored
This replaces st_do_scsi in set_location (LOCATE 10) with st_scsi_kern_execute. Signed-off-by:
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by:
Kai Makisara <Kai.Makisara@kolumbus.fi> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
FUJITA Tomonori authored
This replaces st_do_scsi in test_ready (TEST_UNIT_READY) with st_scsi_kern_execute. Signed-off-by:
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by:
Kai Makisara <Kai.Makisara@kolumbus.fi> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
FUJITA Tomonori authored
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 <fujita.tomonori@lab.ntt.co.jp> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
FUJITA Tomonori authored
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 <fujita.tomonori@lab.ntt.co.jp> Acked-by:
Kai Makisara <Kai.Makisara@kolumbus.fi> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
James Smart authored
Signed-off-by:
James Smart <James.Smart@emulex.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-
James Smart authored
Signed-off-by:
James Smart <james.smart@emulex.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
-