aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/iscsi_tcp.c
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2007-05-30 13:57:21 -0400
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-06-02 15:35:36 -0400
commitd1d81c01f4bdd50577d9f89aa4a8e6344f63aa70 (patch)
tree60c681cc1b9d51864d1a0c283b78f4596d8a8fe9 /drivers/scsi/iscsi_tcp.c
parentdbdb016d92603619d972082167c10b8c74e605cc (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.c8
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
2188static int iscsi_tcp_slave_configure(struct scsi_device *sdev)
2189{
2190 blk_queue_dma_alignment(sdev->request_queue, 0);
2191 return 0;
2192}
2193
2187static struct scsi_host_template iscsi_sht = { 2194static 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};