IB/iser: Avoid error prints on EAGAIN registration failures
authorOr Gerlitz <ogerlitz@mellanox.com>
Thu, 21 Feb 2013 14:50:09 +0000 (14:50 +0000)
committerRoland Dreier <roland@purestorage.com>
Fri, 22 Feb 2013 08:22:29 +0000 (00:22 -0800)
Under IO/CPU stress its possible that the FMR pool might not have a
free FMR mapping element for iSER to use because of incomplete
background unmapping processing.  In that case we get -EAGAIN and the
IO is pushed back to the SCSI layer which soon retries it.  No need to
be so verbose about that.

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/ulp/iser/iser_memory.c

index 2033a92..79c4f35 100644 (file)
@@ -404,7 +404,7 @@ int iser_reg_rdma_mem(struct iscsi_iser_task *iser_task,
        } else { /* use FMR for multiple dma entries */
                iser_page_vec_build(mem, ib_conn->page_vec, ibdev);
                err = iser_reg_page_vec(ib_conn, ib_conn->page_vec, &regd_buf->reg);
-               if (err) {
+               if (err && err != -EAGAIN) {
                        iser_data_buf_dump(mem, ibdev);
                        iser_err("mem->dma_nents = %d (dlength = 0x%x)\n",
                                 mem->dma_nents,