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

Reply via email to