IB/srp: Make mapping failures easier to debug
authorBart Van Assche <bart.vanassche@sandisk.com>
Mon, 21 Nov 2016 21:57:41 +0000 (13:57 -0800)
committerDoug Ledford <dledford@redhat.com>
Wed, 14 Dec 2016 18:31:37 +0000 (13:31 -0500)
Make it easier to figure out what is going on if memory mapping
fails because more memory regions than mr_per_cmd are needed.

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 81cb27f2f0e67ca7b96f9cee39dec93cee792c25..bb9d73daadfafdb738346323584d69097c3ef371 100644 (file)
@@ -1274,8 +1274,12 @@ static int srp_map_finish_fmr(struct srp_map_state *state,
        struct ib_pool_fmr *fmr;
        u64 io_addr = 0;
 
-       if (state->fmr.next >= state->fmr.end)
+       if (state->fmr.next >= state->fmr.end) {
+               shost_printk(KERN_ERR, ch->target->scsi_host,
+                            PFX "Out of MRs (mr_per_cmd = %d)\n",
+                            ch->target->mr_per_cmd);
                return -ENOMEM;
+       }
 
        WARN_ON_ONCE(!dev->use_fmr);
 
@@ -1331,8 +1335,12 @@ static int srp_map_finish_fr(struct srp_map_state *state,
        u32 rkey;
        int n, err;
 
-       if (state->fr.next >= state->fr.end)
+       if (state->fr.next >= state->fr.end) {
+               shost_printk(KERN_ERR, ch->target->scsi_host,
+                            PFX "Out of MRs (mr_per_cmd = %d)\n",
+                            ch->target->mr_per_cmd);
                return -ENOMEM;
+       }
 
        WARN_ON_ONCE(!dev->use_fast_reg);