Lines Matching refs:r
111 struct rpcrdma_mw *r = container_of(work, struct rpcrdma_mw, in __frwr_recovery_worker() local
112 r.frmr.fr_work); in __frwr_recovery_worker()
113 struct rpcrdma_xprt *r_xprt = r->r.frmr.fr_xprt; in __frwr_recovery_worker()
117 if (ib_dereg_mr(r->r.frmr.fr_mr)) in __frwr_recovery_worker()
120 r->r.frmr.fr_mr = ib_alloc_mr(pd, IB_MR_TYPE_MEM_REG, depth); in __frwr_recovery_worker()
121 if (IS_ERR(r->r.frmr.fr_mr)) in __frwr_recovery_worker()
124 dprintk("RPC: %s: recovered FRMR %p\n", __func__, r); in __frwr_recovery_worker()
125 r->r.frmr.fr_state = FRMR_IS_INVALID; in __frwr_recovery_worker()
126 rpcrdma_put_mw(r_xprt, r); in __frwr_recovery_worker()
131 __func__, r); in __frwr_recovery_worker()
138 __frwr_queue_recovery(struct rpcrdma_mw *r) in __frwr_queue_recovery() argument
140 INIT_WORK(&r->r.frmr.fr_work, __frwr_recovery_worker); in __frwr_queue_recovery()
141 queue_work(frwr_recovery_wq, &r->r.frmr.fr_work); in __frwr_queue_recovery()
145 __frwr_init(struct rpcrdma_mw *r, struct ib_pd *pd, struct ib_device *device, in __frwr_init() argument
148 struct rpcrdma_frmr *f = &r->r.frmr; in __frwr_init()
178 __frwr_release(struct rpcrdma_mw *r) in __frwr_release() argument
182 rc = ib_dereg_mr(r->r.frmr.fr_mr); in __frwr_release()
186 kfree(r->r.frmr.sg); in __frwr_release()
252 struct rpcrdma_mw *r; in frwr_sendcompletion() local
258 r = (struct rpcrdma_mw *)(unsigned long)wc->wr_id; in frwr_sendcompletion()
260 dprintk("RPC: %s: frmr %p flushed\n", __func__, r); in frwr_sendcompletion()
263 __func__, r, ib_wc_status_msg(wc->status), wc->status); in frwr_sendcompletion()
264 r->r.frmr.fr_state = FRMR_IS_STALE; in frwr_sendcompletion()
286 struct rpcrdma_mw *r; in frwr_op_init() local
289 r = kzalloc(sizeof(*r), GFP_KERNEL); in frwr_op_init()
290 if (!r) in frwr_op_init()
293 rc = __frwr_init(r, pd, device, depth); in frwr_op_init()
295 kfree(r); in frwr_op_init()
299 list_add(&r->mw_list, &buf->rb_mws); in frwr_op_init()
300 list_add(&r->mw_all, &buf->rb_all); in frwr_op_init()
301 r->mw_sendcompletion = frwr_sendcompletion; in frwr_op_init()
302 r->r.frmr.fr_xprt = r_xprt; in frwr_op_init()
335 } while (mw->r.frmr.fr_state != FRMR_IS_INVALID); in frwr_op_map()
336 frmr = &mw->r.frmr; in frwr_op_map()
425 struct rpcrdma_frmr *frmr = &mw->r.frmr; in frwr_op_unmap()
459 struct rpcrdma_mw *r; in frwr_op_destroy() local
465 r = list_entry(buf->rb_all.next, struct rpcrdma_mw, mw_all); in frwr_op_destroy()
466 list_del(&r->mw_all); in frwr_op_destroy()
467 __frwr_release(r); in frwr_op_destroy()
468 kfree(r); in frwr_op_destroy()