Re: [PATCH 20/24] iscsi_tcp: enable sg chaining

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Dec 13 2007 at 20:43 +0200, michaelc@xxxxxxxxxxx wrote:
> From: Mike Christie <michaelc@xxxxxxxxxxx>
> 
> 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@xxxxxxxxxxx>
> ---
>  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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux