[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>
This commit is contained in:
Mike Christie 2007-05-30 12:57:21 -05:00 committed by James Bottomley
parent dbdb016d92
commit d1d81c01f4
1 changed files with 8 additions and 0 deletions

View File

@ -36,6 +36,7 @@
#include <linux/scatterlist.h> #include <linux/scatterlist.h>
#include <net/tcp.h> #include <net/tcp.h>
#include <scsi/scsi_cmnd.h> #include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h> #include <scsi/scsi_host.h>
#include <scsi/scsi.h> #include <scsi/scsi.h>
#include <scsi/scsi_transport_iscsi.h> #include <scsi/scsi_transport_iscsi.h>
@ -2184,6 +2185,12 @@ static void iscsi_tcp_session_destroy(struct iscsi_cls_session *cls_session)
iscsi_session_teardown(cls_session); iscsi_session_teardown(cls_session);
} }
static int iscsi_tcp_slave_configure(struct scsi_device *sdev)
{
blk_queue_dma_alignment(sdev->request_queue, 0);
return 0;
}
static struct scsi_host_template iscsi_sht = { static struct scsi_host_template iscsi_sht = {
.name = "iSCSI Initiator over TCP/IP", .name = "iSCSI Initiator over TCP/IP",
.queuecommand = iscsi_queuecommand, .queuecommand = iscsi_queuecommand,
@ -2195,6 +2202,7 @@ static struct scsi_host_template iscsi_sht = {
.eh_abort_handler = iscsi_eh_abort, .eh_abort_handler = iscsi_eh_abort,
.eh_host_reset_handler = iscsi_eh_host_reset, .eh_host_reset_handler = iscsi_eh_host_reset,
.use_clustering = DISABLE_CLUSTERING, .use_clustering = DISABLE_CLUSTERING,
.slave_configure = iscsi_tcp_slave_configure,
.proc_name = "iscsi_tcp", .proc_name = "iscsi_tcp",
.this_id = -1, .this_id = -1,
}; };