lkml.org 
[lkml]   [2019]   [Dec]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 071/434] IB/iser: bound protection_sg size by data_sg size
    Date
    From: Max Gurtovoy <maxg@mellanox.com>

    [ Upstream commit 7718cf03c3ce4b6ebd90107643ccd01c952a1fce ]

    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>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/infiniband/ulp/iser/iscsi_iser.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.c b/drivers/infiniband/ulp/iser/iscsi_iser.c
    index 2e72fc5af157..c4c015c60446 100644
    --- a/drivers/infiniband/ulp/iser/iscsi_iser.c
    +++ b/drivers/infiniband/ulp/iser/iscsi_iser.c
    @@ -646,6 +646,7 @@ iscsi_iser_session_create(struct iscsi_endpoint *ep,
    if (ib_conn->pi_support) {
    u32 sig_caps = ib_dev->attrs.sig_prot_cap;

    + shost->sg_prot_tablesize = shost->sg_tablesize;
    scsi_host_set_prot(shost, iser_dif_prot_caps(sig_caps));
    scsi_host_set_guard(shost, SHOST_DIX_GUARD_IP |
    SHOST_DIX_GUARD_CRC);
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-12-29 19:11    [W:2.249 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site