aboutsummaryrefslogtreecommitdiff
path: root/drivers/infiniband/ulp/iser/iser_memory.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-04-29 14:02:48 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-29 14:02:48 -0700
commitf12c03722045882a50c270f6332cf2c7b16a83d2 (patch)
tree91744cede0a86272abd34fd5946a06e486abc2bc /drivers/infiniband/ulp/iser/iser_memory.c
parenteeb85d0b0e312ab9a6c3476f18308409913ab369 (diff)
parent7495ab6837ea4660f5e14ad49e5bfc558d6862e7 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: RDMA/nes: Formatting cleanup RDMA/nes: Add support for SFP+ PHY RDMA/nes: Use LRO IPoIB: Copy child MTU from parent IB/mthca: Avoid changing userspace ABI to handle DMA write barrier attribute IB/mthca: Avoid recycling old FMR R_Keys too soon mlx4_core: Avoid recycling old FMR R_Keys too soon IB/ehca: Allocate event queue size depending on max number of CQs and QPs IPoIB: Use separate CQ for UD send completions IB/iser: Count FMR alignment violations per session IB/iser: Move high-volume debug output to higher debug level IB/ehca: handle negative return value from ibmebus_request_irq() properly RDMA/cxgb3: Support peer-2-peer connection setup RDMA/cxgb3: Set the max_mr_size device attribute correctly RDMA/cxgb3: Correctly serialize peer abort path mlx4_core: Add a way to set the "collapsed" CQ flag
Diffstat (limited to 'drivers/infiniband/ulp/iser/iser_memory.c')
-rw-r--r--drivers/infiniband/ulp/iser/iser_memory.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/infiniband/ulp/iser/iser_memory.c b/drivers/infiniband/ulp/iser/iser_memory.c
index 4a17743a639..cac50c4dc15 100644
--- a/drivers/infiniband/ulp/iser/iser_memory.c
+++ b/drivers/infiniband/ulp/iser/iser_memory.c
@@ -334,8 +334,11 @@ static void iser_data_buf_dump(struct iser_data_buf *data,
struct scatterlist *sg;
int i;
+ if (iser_debug_level == 0)
+ return;
+
for_each_sg(sgl, sg, data->dma_nents, i)
- iser_err("sg[%d] dma_addr:0x%lX page:0x%p "
+ iser_warn("sg[%d] dma_addr:0x%lX page:0x%p "
"off:0x%x sz:0x%x dma_len:0x%x\n",
i, (unsigned long)ib_sg_dma_address(ibdev, sg),
sg_page(sg), sg->offset,
@@ -420,6 +423,7 @@ void iser_dma_unmap_task_data(struct iscsi_iser_cmd_task *iser_ctask)
int iser_reg_rdma_mem(struct iscsi_iser_cmd_task *iser_ctask,
enum iser_data_dir cmd_dir)
{
+ struct iscsi_conn *iscsi_conn = iser_ctask->iser_conn->iscsi_conn;
struct iser_conn *ib_conn = iser_ctask->iser_conn->ib_conn;
struct iser_device *device = ib_conn->device;
struct ib_device *ibdev = device->ib_device;
@@ -434,7 +438,8 @@ int iser_reg_rdma_mem(struct iscsi_iser_cmd_task *iser_ctask,
aligned_len = iser_data_buf_aligned_len(mem, ibdev);
if (aligned_len != mem->dma_nents) {
- iser_err("rdma alignment violation %d/%d aligned\n",
+ iscsi_conn->fmr_unalign_cnt++;
+ iser_warn("rdma alignment violation %d/%d aligned\n",
aligned_len, mem->size);
iser_data_buf_dump(mem, ibdev);