IB/srp: Introduce target->mr_pool_size
authorBart Van Assche <bart.vanassche@sandisk.com>
Fri, 22 Apr 2016 21:13:57 +0000 (14:13 -0700)
committerDoug Ledford <dledford@redhat.com>
Thu, 12 May 2016 18:18:56 +0000 (14:18 -0400)
This patch does not change any functionality.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Reviewed-by: Sagi Grimberg <sagig@mellanox.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Laurence Oberman <loberman@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/ulp/srp/ib_srp.c
drivers/infiniband/ulp/srp/ib_srp.h

index 47e753d..92d2d98 100644 (file)
@@ -316,7 +316,7 @@ static struct ib_fmr_pool *srp_alloc_fmr_pool(struct srp_target_port *target)
        struct ib_fmr_pool_param fmr_param;
 
        memset(&fmr_param, 0, sizeof(fmr_param));
-       fmr_param.pool_size         = target->scsi_host->can_queue;
+       fmr_param.pool_size         = target->mr_pool_size;
        fmr_param.dirty_watermark   = fmr_param.pool_size / 4;
        fmr_param.cache             = 1;
        fmr_param.max_pages_per_fmr = dev->max_pages_per_mr;
@@ -441,8 +441,7 @@ static struct srp_fr_pool *srp_alloc_fr_pool(struct srp_target_port *target)
 {
        struct srp_device *dev = target->srp_host->srp_dev;
 
-       return srp_create_fr_pool(dev->dev, dev->pd,
-                                 target->scsi_host->can_queue,
+       return srp_create_fr_pool(dev->dev, dev->pd, target->mr_pool_size,
                                  dev->max_pages_per_mr);
 }
 
@@ -3229,6 +3228,7 @@ static ssize_t srp_create_target(struct device *dev,
        }
 
        target_host->sg_tablesize = target->sg_tablesize;
+       target->mr_pool_size = target->scsi_host->can_queue;
        target->indirect_size = target->sg_tablesize *
                                sizeof (struct srp_direct_buf);
        target->max_iu_len = sizeof (struct srp_cmd) +
index 9e05ce4..a00914c 100644 (file)
@@ -202,6 +202,7 @@ struct srp_target_port {
        char                    target_name[32];
        unsigned int            scsi_id;
        unsigned int            sg_tablesize;
+       int                     mr_pool_size;
        int                     queue_size;
        int                     req_ring_size;
        int                     comp_vector;