aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2007-12-13 13:43:39 -0500
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-01-11 19:28:48 -0500
commit66bbe0ce11c7ebe20cd1d4b5d271b2e124e223c5 (patch)
treedb86d9d61e12ba37298ebaa092a81076aff643b0 /drivers
parent4cd49ea1330c946db00a28819b766062716aa857 (diff)
[SCSI] iscsi_tcp: enable sg chaining
The previous patches converted iscsi_tcp to support sg chaining. This patch sets the proper flags and sets sg_table size to 4096. This allows fs io to be capped at max_sectors, but passthrough IO to be limited by some other part of the kernel. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/scsi/iscsi_tcp.c5
-rw-r--r--drivers/scsi/iscsi_tcp.h3
2 files changed, 3 insertions, 5 deletions
diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c
index 65df908019fd..84c4a5026bcb 100644
--- a/drivers/scsi/iscsi_tcp.c
+++ b/drivers/scsi/iscsi_tcp.c
@@ -1928,13 +1928,14 @@ static struct scsi_host_template iscsi_sht = {
1928 .queuecommand = iscsi_queuecommand, 1928 .queuecommand = iscsi_queuecommand,
1929 .change_queue_depth = iscsi_change_queue_depth, 1929 .change_queue_depth = iscsi_change_queue_depth,
1930 .can_queue = ISCSI_DEF_XMIT_CMDS_MAX - 1, 1930 .can_queue = ISCSI_DEF_XMIT_CMDS_MAX - 1,
1931 .sg_tablesize = ISCSI_SG_TABLESIZE, 1931 .sg_tablesize = 4096,
1932 .max_sectors = 0xFFFF, 1932 .max_sectors = 0xFFFF,
1933 .cmd_per_lun = ISCSI_DEF_CMD_PER_LUN, 1933 .cmd_per_lun = ISCSI_DEF_CMD_PER_LUN,
1934 .eh_abort_handler = iscsi_eh_abort, 1934 .eh_abort_handler = iscsi_eh_abort,
1935 .eh_device_reset_handler= iscsi_eh_device_reset, 1935 .eh_device_reset_handler= iscsi_eh_device_reset,
1936 .eh_host_reset_handler = iscsi_eh_host_reset, 1936 .eh_host_reset_handler = iscsi_eh_host_reset,
1937 .use_clustering = DISABLE_CLUSTERING, 1937 .use_clustering = DISABLE_CLUSTERING,
1938 .use_sg_chaining = ENABLE_SG_CHAINING,
1938 .slave_configure = iscsi_tcp_slave_configure, 1939 .slave_configure = iscsi_tcp_slave_configure,
1939 .proc_name = "iscsi_tcp", 1940 .proc_name = "iscsi_tcp",
1940 .this_id = -1, 1941 .this_id = -1,
@@ -1974,7 +1975,7 @@ static struct iscsi_transport iscsi_tcp_transport = {
1974 .host_template = &iscsi_sht, 1975 .host_template = &iscsi_sht,
1975 .conndata_size = sizeof(struct iscsi_conn), 1976 .conndata_size = sizeof(struct iscsi_conn),
1976 .max_conn = 1, 1977 .max_conn = 1,
1977 .max_cmd_len = ISCSI_TCP_MAX_CMD_LEN, 1978 .max_cmd_len = 16,
1978 /* session management */ 1979 /* session management */
1979 .create_session = iscsi_tcp_session_create, 1980 .create_session = iscsi_tcp_session_create,
1980 .destroy_session = iscsi_tcp_session_destroy, 1981 .destroy_session = iscsi_tcp_session_destroy,
diff --git a/drivers/scsi/iscsi_tcp.h b/drivers/scsi/iscsi_tcp.h
index 893cd2e1701e..ed0b991d1e72 100644
--- a/drivers/scsi/iscsi_tcp.h
+++ b/drivers/scsi/iscsi_tcp.h
@@ -24,9 +24,6 @@
24 24
25#include <scsi/libiscsi.h> 25#include <scsi/libiscsi.h>
26 26
27#define ISCSI_SG_TABLESIZE SG_ALL
28#define ISCSI_TCP_MAX_CMD_LEN 16
29
30struct crypto_hash; 27struct crypto_hash;
31struct socket; 28struct socket;
32struct iscsi_tcp_conn; 29struct iscsi_tcp_conn;