Revision tags: v2.6.25, v2.6.25-rc9, v2.6.25-rc8, v2.6.25-rc7, v2.6.25-rc6, v2.6.25-rc5, v2.6.25-rc4 |
|
#
45ab33b6 |
| 04-Mar-2008 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi class: regression - fix races with state manipulation and blocking/unblocking
For qla4xxx, we could be starting a session, but some error (network, target, IO from a device that got sta
[SCSI] iscsi class: regression - fix races with state manipulation and blocking/unblocking
For qla4xxx, we could be starting a session, but some error (network, target, IO from a device that got started, etc) could cause the session to fail and curring the block/unblock and state manipulation could race with each other. This patch just has those operations done in the single threaded iscsi eh work queue, so that way they are serialized.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
show more ...
|
Revision tags: v2.6.25-rc3, v2.6.25-rc2, v2.6.25-rc1 |
|
#
322d739d |
| 31-Jan-2008 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi: fix up iscsi printk prefix
Some iscsi class messages have the dev_printk prefix and some libiscsi and iscsi_tcp messages have "iscsi" or the module name as a prefix which is normally p
[SCSI] iscsi: fix up iscsi printk prefix
Some iscsi class messages have the dev_printk prefix and some libiscsi and iscsi_tcp messages have "iscsi" or the module name as a prefix which is normally pretty useless when trying to figure out which session or connection the message is attached to. This patch adds iscsi lib and class dev_printks so all messages have a common prefix that can be used to figure out which object printed it.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
show more ...
|
#
8aae18ad |
| 31-Jan-2008 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi class: add async scan helper
In qla4xxx's probe it will call the iscsi session setup functions for session that got setup on the initial start. This then makes it easy for the iscsi cla
[SCSI] iscsi class: add async scan helper
In qla4xxx's probe it will call the iscsi session setup functions for session that got setup on the initial start. This then makes it easy for the iscsi class to export a helper which indicates when those scans are done.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
show more ...
|
#
bd976f62 |
| 31-Jan-2008 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi class: add session scanning
This just adds iscsi session scanning which works like fc rport scanning. The future patches will hook the drivers into Mathew Wilcox's async scanning infras
[SCSI] iscsi class: add session scanning
This just adds iscsi session scanning which works like fc rport scanning. The future patches will hook the drivers into Mathew Wilcox's async scanning infrastructure, so userspace does not have to special case iscsi and so userspace does not have to make a extra special case for hardware iscsi root scanning.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
show more ...
|
#
6eabafbe |
| 31-Jan-2008 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi class, libiscsi: add iscsi sysfs session state file
This adds a iscsi session state file which exports the session state for both software and hardware iscsi. It also hooks libiscsi in.
[SCSI] iscsi class, libiscsi: add iscsi sysfs session state file
This adds a iscsi session state file which exports the session state for both software and hardware iscsi. It also hooks libiscsi in.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
show more ...
|
Revision tags: v2.6.24, v2.6.24-rc8, v2.6.24-rc7, v2.6.24-rc6 |
|
#
a8ac6311 |
| 13-Dec-2007 |
Olaf Kirch <olaf.kirch@oracle.com> |
[SCSI] iscsi: convert xmit path to iscsi chunks
Convert xmit to iscsi chunks.
from michaelc@cs.wisc.edu:
Bug fixes, more digest integration, sg chaining conversion and other sg wrapper changes, co
[SCSI] iscsi: convert xmit path to iscsi chunks
Convert xmit to iscsi chunks.
from michaelc@cs.wisc.edu:
Bug fixes, more digest integration, sg chaining conversion and other sg wrapper changes, coding style sync up, and removal of io fields, like pdu_sent, that are not needed.
Signed-off-by: Olaf Kirch <olaf.kirch@oracle.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
show more ...
|
#
26974789 |
| 13-Dec-2007 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] libiscsi: fix shutdown
We were using the device delete sysfs file to remove each device then logout. Now in 2.6.21 this will not work because the sysfs delete file returns immediately and doe
[SCSI] libiscsi: fix shutdown
We were using the device delete sysfs file to remove each device then logout. Now in 2.6.21 this will not work because the sysfs delete file returns immediately and does not wait for the device removal to complete. This causes a hang if a cache sync is needed during shutdown. Before .21, that approach had other problems, so this patch fixes the shutdown code so that we remove the target and unbind the session before logging out and shut down the session
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
show more ...
|
#
b3a7ea8d |
| 13-Dec-2007 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] libiscsi: do not block session during logout
There is not need to block the session during logout. Since we are going to fail the commands that were blocked just fail them immediately instead
[SCSI] libiscsi: do not block session during logout
There is not need to block the session during logout. Since we are going to fail the commands that were blocked just fail them immediately instead.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
show more ...
|
Revision tags: v2.6.24-rc5, v2.6.24-rc4, v2.6.24-rc3, v2.6.24-rc2, v2.6.24-rc1, v2.6.23 |
|
#
d773c082 |
| 02-Oct-2007 |
Michael S. Tsirkin <mst@dev.mellanox.co.il> |
[SCSI] scsi_transport_iscsi: add list, mutex includes
scsi/scsi_transport_iscsi.h uses struct mutex and struct list_head, so while linux/mutex.h and linux/list.h seem to be pulled in indirectly by o
[SCSI] scsi_transport_iscsi: add list, mutex includes
scsi/scsi_transport_iscsi.h uses struct mutex and struct list_head, so while linux/mutex.h and linux/list.h seem to be pulled in indirectly by one of the headers it includes, the right thing is to include linux/mutex.h and linus/list.h directly.
Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il> Acked-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
show more ...
|
Revision tags: v2.6.23-rc9, v2.6.23-rc8, v2.6.23-rc7, v2.6.23-rc6, v2.6.23-rc5, v2.6.23-rc4, v2.6.23-rc3, v2.6.23-rc2, v2.6.23-rc1, v2.6.22, v2.6.22-rc7, v2.6.22-rc6, v2.6.22-rc5, v2.6.22-rc4 |
|
#
1548271e |
| 30-May-2007 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] libiscsi: make can_queue configurable
This patch allows us to set can_queue and cmds_per_lun from userspace when we create the session/host. From there we can set it on a per target basis. Th
[SCSI] libiscsi: make can_queue configurable
This patch allows us to set can_queue and cmds_per_lun from userspace when we create the session/host. From there we can set it on a per target basis. The patch fully converts iscsi_tcp, but only hooks up ib_iser for cmd_per_lun since it currently has a lots of preallocations based on can_queue.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Cc: Roland Dreier <rdreier@cisco.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
show more ...
|
#
77a23c21 |
| 30-May-2007 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] libiscsi: fix iscsi cmdsn allocation
The cmdsn allocation and pdu transmit code can race, and we can end up sending a pdu with cmdsn 10 before a pdu with 5. The target will then fail the conn
[SCSI] libiscsi: fix iscsi cmdsn allocation
The cmdsn allocation and pdu transmit code can race, and we can end up sending a pdu with cmdsn 10 before a pdu with 5. The target will then fail the connection/session. This patch fixes the problem by delaying the cmdsn allocation until we are about to send the pdu.
This also removes the xmitmutex. We were using the connection xmitmutex during error handling to handle races with mtask and ctask cleanup and completion. For ctasks we now have nice refcounting and for the mtask, if we hit the case where the mtask timesout and it is floating around somewhere in the driver, we end up dropping the session. And to handle session level cleanup, we use the xmit suspend bit along with scsi_flush_queue and the session lock to make sure that the xmit thread is not possibly transmitting a task while we are trying to kill it.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Cc: Roland Dreier <rdreier@cisco.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
show more ...
|
#
1d9bf13a |
| 30-May-2007 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi class: add iscsi host set param event
The iscsi class uses the set_param event to set session and connection params. This patch adds a set_host_param so we can set host level values.
S
[SCSI] iscsi class: add iscsi host set param event
The iscsi class uses the set_param event to set session and connection params. This patch adds a set_host_param so we can set host level values.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
show more ...
|
#
2174a04e |
| 30-May-2007 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi_transport, qla4xxx: have class lookup host for drivers
We are going to be adding more host level sysfs attrs and set_params, so this patch has them take a scsi_host instead of either a
[SCSI] iscsi_transport, qla4xxx: have class lookup host for drivers
We are going to be adding more host level sysfs attrs and set_params, so this patch has them take a scsi_host instead of either a scsi_host or host no.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Cc: David C Somayajulu <david.somayajulu@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
show more ...
|
#
1819dc81 |
| 30-May-2007 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi_transport: export hw address
Add hw address sysfs file.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
|
Revision tags: v2.6.22-rc3, v2.6.22-rc2, v2.6.22-rc1, v2.6.21, v2.6.21-rc7, v2.6.21-rc6, v2.6.21-rc5, v2.6.21-rc4, v2.6.21-rc3, v2.6.21-rc2, v2.6.21-rc1, v2.6.20, v2.6.20-rc7, v2.6.20-rc6, v2.6.20-rc5, v2.6.20-rc4, v2.6.20-rc3, v2.6.20-rc2, v2.6.20-rc1, v2.6.19 |
|
#
c4028958 |
| 22-Nov-2006 |
David Howells <dhowells@redhat.com> |
WorkStruct: make allyesconfig
Fix up for make allyesconfig.
Signed-Off-By: David Howells <dhowells@redhat.com>
|
Revision tags: v2.6.19-rc6, v2.6.19-rc5, v2.6.19-rc4, v2.6.19-rc3 |
|
#
43a145a3 |
| 16-Oct-2006 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi class: fix slab corruption during restart
The transport class recv mempools are causing slab corruption. We could hack around netlink's lack of mempool support like dm, but it is just t
[SCSI] iscsi class: fix slab corruption during restart
The transport class recv mempools are causing slab corruption. We could hack around netlink's lack of mempool support like dm, but it is just too ulgy (dm's hack is ugly enough :) when you need to support broadcast.
This patch removes the recv pools. We have not used them even when we were allocting 20 MB per session and the system only had 64 MBs. And we have no pools on the send side and have been ok there. When Peter's work gets merged we can use that since the network guys are in favor of that approach and are not going to add mempools everywhere.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
show more ...
|
Revision tags: v2.6.19-rc2, v2.6.19-rc1, v2.6.18, v2.6.18-rc7, v2.6.18-rc6, v2.6.18-rc5, v2.6.18-rc4, v2.6.18-rc3 |
|
#
1c83469d |
| 24-Jul-2006 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi bugfixes: fix oops when iser is flushing io
When we enter recovery and flush the running commands we cannot freee the connection before flushing the commands. Some commands may have a r
[SCSI] iscsi bugfixes: fix oops when iser is flushing io
When we enter recovery and flush the running commands we cannot freee the connection before flushing the commands. Some commands may have a reference to the connection that needs to be released before. iscsi_stop was forcing the term and suspend too early and was causing a oops in iser, so this patch removes those callbacks all together and allows the LLD to handle that detail.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
show more ...
|
Revision tags: v2.6.18-rc2, v2.6.18-rc1 |
|
#
53cb8a1f |
| 28-Jun-2006 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi: add async notification of session events
This patch adds or modifies the transport class functions used to notify userspace of session state events.
We modify the session addition up
[SCSI] iscsi: add async notification of session events
This patch adds or modifies the transport class functions used to notify userspace of session state events.
We modify the session addition up event and add a destruction event to notify userspace of session creation, relogin and destruction.
And we modify the conn error event to be sent by broadcast since multiple listeners may want to listen for it.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
show more ...
|
#
6a8a0d36 |
| 28-Jun-2006 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi: pass target nr to session creation
So the drivers do not use the channel numbers, but some do use the target numbers. We were just adding some goofy variable that just increases for th
[SCSI] iscsi: pass target nr to session creation
So the drivers do not use the channel numbers, but some do use the target numbers. We were just adding some goofy variable that just increases for the target nr. This is useless for software iscsi because it is always zero. And for qla4xxx the target nr is actually the index of the target/session in its FW or FLASH tables. We needed to expose this to userspace so apps could access those numbers so this patch just adds the target nr to the iscsi session creation functions. This way when qla4xxx's Hw thinks a session is at target nr 4 in its hw, it is exposed as that number in sysfs.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
show more ...
|
#
8434aa8b |
| 28-Jun-2006 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi: break up session creation into two stages
qla4xxx is initialized in two steps like other HW drivers. It allocates the host, sets up the HW, then adds the host. For iscsi part of HW set
[SCSI] iscsi: break up session creation into two stages
qla4xxx is initialized in two steps like other HW drivers. It allocates the host, sets up the HW, then adds the host. For iscsi part of HW setup is setting up persistent iscsi sessions. At that time, the interupts are off and the driver is not completely set up so we just want to allocate them. We do not want to add them to sysfs and expose them to userspace because userspace could try to do lots of fun things with them like scanning and at that time the driver is not ready.
So this patch breakes up the session creation like other functions that use the driver model in two the alloc and add parts. When the driver is ready, it can then add the sessions and userspace can begin using them.
This also fixes a bug in the addition error patch where we forgot to do a get on the session.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
show more ...
|
#
e6f3b63f |
| 28-Jun-2006 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi: rm channel usage from iscsi
I do not remember what I was thinking when we added the channel as a argument to the session create function. It was probably due to too much cut and paste
[SCSI] iscsi: rm channel usage from iscsi
I do not remember what I was thinking when we added the channel as a argument to the session create function. It was probably due to too much cut and paste work from the FC transport class.
The channel is meaningless for iscsi drivers so this patch drops its usage everywhere in the iscsi related code.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
show more ...
|
#
a54a52ca |
| 28-Jun-2006 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi: fixup set/get param functions
Reduce duplication in the software iscsi_transport modules by adding a libiscsi function to handle the common grunt work.
This also has the drivers retur
[SCSI] iscsi: fixup set/get param functions
Reduce duplication in the software iscsi_transport modules by adding a libiscsi function to handle the common grunt work.
This also has the drivers return specifc -EXXX values for different errors so userspace can finally handle them in a sane way.
Also just pass the sysfs buffers to the drivers so HW iscsi can get/set its string values, like targetname, and initiatorname.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
show more ...
|
#
01cb225d |
| 28-Jun-2006 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi: add target discvery event to transport class
Patch from david.somayajulu@qlogic.com:
Add target discovery event. We may have a setup where the iscsi traffic is on a different netowrk
[SCSI] iscsi: add target discvery event to transport class
Patch from david.somayajulu@qlogic.com:
Add target discovery event. We may have a setup where the iscsi traffic is on a different netowrk than the other network traffic. In this case we will want to do discovery though the iscsi card. This patch adds a event to the transport class that can be used by hw iscsi cards that support this.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
show more ...
|
Revision tags: v2.6.17, v2.6.17-rc6 |
|
#
3219e529 |
| 30-May-2006 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi: fix writepsace race
We can race and misset the suspend bit if iscsi_write_space is called then iscsi_send returns with a failure indicating there is no space.
To handle this this patc
[SCSI] iscsi: fix writepsace race
We can race and misset the suspend bit if iscsi_write_space is called then iscsi_send returns with a failure indicating there is no space.
To handle this this patch returns a error upwards allowing xmitworker to decide if we need to try and transmit again. For the no write space case xmitworker will not retry, and instead let iscsi_write_space queue it back up if needed (this relies on the work queue code to properly requeue us if needed).
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
show more ...
|
Revision tags: v2.6.17-rc5 |
|
#
656cffc9 |
| 18-May-2006 |
Mike Christie <michaelc@cs.wisc.edu> |
[SCSI] iscsi: fix command requeues during iscsi recovery
Do not flush queues then block session. This will cause commands to needlessly swing around on us and remove goofy recovery_failed field and
[SCSI] iscsi: fix command requeues during iscsi recovery
Do not flush queues then block session. This will cause commands to needlessly swing around on us and remove goofy recovery_failed field and replace with state value.
And do not start recovery from within the host reset function. This causeis too many problems becuase open-iscsi was desinged to call out to userspace then have userpscae decide if we should go into recovery or kill the session.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
show more ...
|