IB/srp: Use multiple registrations for large memory regions
authorBart Van Assche <bart.vanassche@sandisk.com>
Tue, 11 Aug 2015 00:06:57 +0000 (17:06 -0700)
committerDoug Ledford <dledford@redhat.com>
Sun, 30 Aug 2015 22:12:37 +0000 (18:12 -0400)
Instead of using the global rkey for large memory regions, use
multiple registrations. See also the while (dma_len) loop further
down in srp_map_sg_entry().

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/ulp/srp/ib_srp.c

index 6ed976d8aa30d72280e4aa8a148891410abc7eda..03ae72e338c0da2fc2b1294dcb44316af8d77e06 100644 (file)
@@ -1393,16 +1393,6 @@ static int srp_map_sg_entry(struct srp_map_state *state,
                return 0;
        }
 
-       if (dma_len > dev->mr_max_size) {
-               ret = srp_finish_mapping(state, ch);
-               if (ret)
-                       return ret;
-
-               srp_map_desc(state, dma_addr, dma_len, target->rkey);
-               srp_map_update_start(state, NULL, 0, 0);
-               return 0;
-       }
-
        /*
         * If this is the first sg that will be mapped via FMR or via FR, save
         * our position. We need to know the first unmapped entry, its index,