diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2007-12-13 13:43:39 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-01-11 19:28:48 -0500 |
commit | 66bbe0ce11c7ebe20cd1d4b5d271b2e124e223c5 (patch) | |
tree | db86d9d61e12ba37298ebaa092a81076aff643b0 /drivers | |
parent | 4cd49ea1330c946db00a28819b766062716aa857 (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.c | 5 | ||||
-rw-r--r-- | drivers/scsi/iscsi_tcp.h | 3 |
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 | |||
30 | struct crypto_hash; | 27 | struct crypto_hash; |
31 | struct socket; | 28 | struct socket; |
32 | struct iscsi_tcp_conn; | 29 | struct iscsi_tcp_conn; |