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