Skip to contentSkip to conversation

iscsi tcp set queue dma alignment to zero

PATCH In review Pete Wyckoff 2 participants 2 messages Mar 1, 2007 – Mar 2, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 iscsi tcp set queue dma alignment to zero

Add a slave_configure function to iSCSI TCP to remove any DMA alignment restriction. This permits the use of direct IO from arbitrary addresses.

---
 drivers/scsi/iscsi_tcp.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)
drivers/scsi/iscsi_tcp.c +11 -0
index 4376840..f48eedd 100644
@@ -2132,6 +2132,16 @@ static void iscsi_tcp_session_destroy(struct iscsi_cls_session *cls_session)
 	iscsi_session_teardown(cls_session);
 }
 
+/*
+ * New device attached.  Turn off the DMA alignment restriction on
+ * the request queue.
+ */
+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 = {
 	.name			= "iSCSI Initiator over TCP/IP",
 	.queuecommand           = iscsi_queuecommand,
@@ -2142,6 +2152,7 @@ static struct scsi_host_template iscsi_sht = {
 	.eh_abort_handler       = iscsi_eh_abort,
 	.eh_host_reset_handler	= iscsi_eh_host_reset,
 	.use_clustering         = DISABLE_CLUSTERING,
+	.slave_configure        = iscsi_tcp_slave_configure,
 	.proc_name		= "iscsi_tcp",
 	.this_id		= -1,
 };
Signature · 1 line
1.5.0.2
#1 lore raw
Quoted 17 lines · Pete Wyckoff

Add a slave_configure function to iSCSI TCP to remove any DMA alignment restriction. This permits the use of direct IO from arbitrary addresses.

---
 drivers/scsi/iscsi_tcp.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)
drivers/scsi/iscsi_tcp.c +0 -0
index 4376840..f48eedd 100644
@@ -2132,6 +2132,16 @@ static void iscsi_tcp_session_destroy(struct iscsi_cls_session *cls_session)
 	iscsi_session_teardown(cls_session);
 }
 

drivers/scsi/iscsi_tcp.c static void iscsi_tcp_session_destroy(struct iscsi_cls_session *cls_session) · line 2144

Quoted 10 lines
drivers/scsi/iscsi_tcp.c +10 -0
+/*
+ * New device attached.  Turn off the DMA alignment restriction on
+ * the request queue.
+ */
+static int iscsi_tcp_slave_configure(struct scsi_device *sdev)
+{
+	blk_queue_dma_alignment(sdev->request_queue, 0);
+	return 0;
+}
+

I think the comments are not needed, but that is not a big deal. I will put this in my tree and send it to James if he does not pick it up from linux-scsi.

Thanks for the patch.

Erez, I do not think ib_iser should have any limit either (I only looked at the code for a little bit though). You may want to do the the same for iser.