On Thu, Dec 13 2007 at 20:43 +0200, [EMAIL PROTECTED] wrote:
> From: Mike Christie <[EMAIL PROTECTED]>
>
> 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 <[EMAIL PROTECTED]>
> ---
> drivers/scsi/iscsi_tcp.c | 5 +++--
> 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 65df908..84c4a50 100644
> --- a/drivers/scsi/iscsi_tcp.c
> +++ b/drivers/scsi/iscsi_tcp.c
> @@ -1928,13 +1928,14 @@ static struct scsi_host_template iscsi_sht = {
> .queuecommand = iscsi_queuecommand,
> .change_queue_depth = iscsi_change_queue_depth,
> .can_queue = ISCSI_DEF_XMIT_CMDS_MAX - 1,
> - .sg_tablesize = ISCSI_SG_TABLESIZE,
> + .sg_tablesize = 4096,
+ .sg_tablesize = ~0,
I use ~0 in my tree. The 4096 is a mechanical limitation here without
any real reasons. ~0 means that the driver does not have any limitations
and the minimum will be at some higher level.
> .max_sectors = 0xFFFF,
> .cmd_per_lun = ISCSI_DEF_CMD_PER_LUN,
> .eh_abort_handler = iscsi_eh_abort,
> .eh_device_reset_handler= iscsi_eh_device_reset,
> .eh_host_reset_handler = iscsi_eh_host_reset,
> .use_clustering = DISABLE_CLUSTERING,
> + .use_sg_chaining = ENABLE_SG_CHAINING,
> .slave_configure = iscsi_tcp_slave_configure,
> .proc_name = "iscsi_tcp",
> .this_id = -1,
> @@ -1974,7 +1975,7 @@ static struct iscsi_transport iscsi_tcp_transport = {
> .host_template = &iscsi_sht,
> .conndata_size = sizeof(struct iscsi_conn),
> .max_conn = 1,
> - .max_cmd_len = ISCSI_TCP_MAX_CMD_LEN,
> + .max_cmd_len = 16,
> /* session management */
> .create_session = iscsi_tcp_session_create,
> .destroy_session = iscsi_tcp_session_destroy,
> diff --git a/drivers/scsi/iscsi_tcp.h b/drivers/scsi/iscsi_tcp.h
> index 893cd2e..ed0b991 100644
> --- a/drivers/scsi/iscsi_tcp.h
> +++ b/drivers/scsi/iscsi_tcp.h
> @@ -24,9 +24,6 @@
>
> #include <scsi/libiscsi.h>
>
> -#define ISCSI_SG_TABLESIZE SG_ALL
> -#define ISCSI_TCP_MAX_CMD_LEN 16
> -
> struct crypto_hash;
> struct socket;
> struct iscsi_tcp_conn;
Don't fix it just yet. I will send a patch much later,
when I will actually need it. I just wanted to make a note
of it.
Boaz
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html