iscsi tcp set queue dma alignment to zero
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
@@ -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
Quoted 17 lines · Pete Wyckoff
Add a
slave_configurefunction to iSCSI TCP to remove any DMA alignment restriction. This permits the use of direct IO from arbitrary addresses.Signed-off-by Pete Wyckoff <[email protected]>--- drivers/scsi/iscsi_tcp.c | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-)drivers/scsi/iscsi_tcp.c +0
-0@@ -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.