diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2007-05-30 13:57:21 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-06-02 15:35:36 -0400 |
commit | d1d81c01f4bdd50577d9f89aa4a8e6344f63aa70 (patch) | |
tree | 60c681cc1b9d51864d1a0c283b78f4596d8a8fe9 /drivers/scsi/iscsi_tcp.c | |
parent | dbdb016d92603619d972082167c10b8c74e605cc (diff) |
[SCSI] iscsi_tcp: remove DMA alignment restriction
Add a slave_configure function to iSCSI TCP to remove any DMA
alignment restriction. This permits the use of direct IO from
arbitrary addresses.
Signed-off-by: Pete Wyckoff <pw@osc.edu>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/iscsi_tcp.c')
-rw-r--r-- | drivers/scsi/iscsi_tcp.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c index 6eaa2e3a9252..4e9f0d9a55ea 100644 --- a/drivers/scsi/iscsi_tcp.c +++ b/drivers/scsi/iscsi_tcp.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <linux/scatterlist.h> | 36 | #include <linux/scatterlist.h> |
37 | #include <net/tcp.h> | 37 | #include <net/tcp.h> |
38 | #include <scsi/scsi_cmnd.h> | 38 | #include <scsi/scsi_cmnd.h> |
39 | #include <scsi/scsi_device.h> | ||
39 | #include <scsi/scsi_host.h> | 40 | #include <scsi/scsi_host.h> |
40 | #include <scsi/scsi.h> | 41 | #include <scsi/scsi.h> |
41 | #include <scsi/scsi_transport_iscsi.h> | 42 | #include <scsi/scsi_transport_iscsi.h> |
@@ -2184,6 +2185,12 @@ static void iscsi_tcp_session_destroy(struct iscsi_cls_session *cls_session) | |||
2184 | iscsi_session_teardown(cls_session); | 2185 | iscsi_session_teardown(cls_session); |
2185 | } | 2186 | } |
2186 | 2187 | ||
2188 | static int iscsi_tcp_slave_configure(struct scsi_device *sdev) | ||
2189 | { | ||
2190 | blk_queue_dma_alignment(sdev->request_queue, 0); | ||
2191 | return 0; | ||
2192 | } | ||
2193 | |||
2187 | static struct scsi_host_template iscsi_sht = { | 2194 | static struct scsi_host_template iscsi_sht = { |
2188 | .name = "iSCSI Initiator over TCP/IP", | 2195 | .name = "iSCSI Initiator over TCP/IP", |
2189 | .queuecommand = iscsi_queuecommand, | 2196 | .queuecommand = iscsi_queuecommand, |
@@ -2195,6 +2202,7 @@ static struct scsi_host_template iscsi_sht = { | |||
2195 | .eh_abort_handler = iscsi_eh_abort, | 2202 | .eh_abort_handler = iscsi_eh_abort, |
2196 | .eh_host_reset_handler = iscsi_eh_host_reset, | 2203 | .eh_host_reset_handler = iscsi_eh_host_reset, |
2197 | .use_clustering = DISABLE_CLUSTERING, | 2204 | .use_clustering = DISABLE_CLUSTERING, |
2205 | .slave_configure = iscsi_tcp_slave_configure, | ||
2198 | .proc_name = "iscsi_tcp", | 2206 | .proc_name = "iscsi_tcp", |
2199 | .this_id = -1, | 2207 | .this_id = -1, |
2200 | }; | 2208 | }; |