IB/iser: bound protection_sg size by data_sg size
authorMax Gurtovoy <maxg@mellanox.com>
Tue, 24 Sep 2019 21:03:47 +0000 (00:03 +0300)
committerJason Gunthorpe <jgg@mellanox.com>
Tue, 1 Oct 2019 14:24:24 +0000 (11:24 -0300)
commit7718cf03c3ce4b6ebd90107643ccd01c952a1fce
tree15c4663517260a20d3055b77b1e2c4a5a0327f23
parent70bcc63f84eaa08c53a14e669550cffc947ca3b7
IB/iser: bound protection_sg size by data_sg size

In case we don't set the sg_prot_tablesize, the scsi layer assign the
default size (65535 entries). We should limit this size since we should
take into consideration the underlaying device capability. This cap is
considered when calculating the sg_tablesize. Otherwise, for example,
we can get that /sys/block/sdb/queue/max_segments is 128 and
/sys/block/sdb/queue/max_integrity_segments is 65535.

Link: https://lore.kernel.org/r/1569359027-10987-1-git-send-email-maxg@mellanox.com
Signed-off-by: Max Gurtovoy <maxg@mellanox.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/ulp/iser/iscsi_iser.c