Lines Matching refs:dr

534 static void free_deferred(struct svc_xprt *xprt, struct svc_deferred_req *dr)
536 if (!dr)
539 xprt->xpt_ops->xpo_release_ctxt(xprt, dr->xprt_ctxt);
540 kfree(dr);
1038 struct svc_deferred_req *dr;
1054 while ((dr = svc_deferred_dequeue(xprt)) != NULL)
1055 free_deferred(xprt, dr);
1158 struct svc_deferred_req *dr =
1160 struct svc_xprt *xprt = dr->xprt;
1166 trace_svc_defer_drop(dr);
1167 free_deferred(xprt, dr);
1171 dr->xprt = NULL;
1172 list_add(&dr->handle.recent, &xprt->xpt_deferred);
1174 trace_svc_defer_queue(dr);
1191 struct svc_deferred_req *dr;
1196 dr = rqstp->rq_deferred;
1203 dr = kmalloc(size, GFP_KERNEL);
1204 if (dr == NULL)
1207 dr->handle.owner = rqstp->rq_server;
1208 dr->prot = rqstp->rq_prot;
1209 memcpy(&dr->addr, &rqstp->rq_addr, rqstp->rq_addrlen);
1210 dr->addrlen = rqstp->rq_addrlen;
1211 dr->daddr = rqstp->rq_daddr;
1212 dr->argslen = rqstp->rq_arg.len >> 2;
1216 memcpy(dr->args, rqstp->rq_arg.head[0].iov_base - skip,
1217 dr->argslen << 2);
1219 dr->xprt_ctxt = rqstp->rq_xprt_ctxt;
1223 dr->xprt = rqstp->rq_xprt;
1226 dr->handle.revisit = svc_revisit;
1227 return &dr->handle;
1235 struct svc_deferred_req *dr = rqstp->rq_deferred;
1237 trace_svc_defer_recv(dr);
1240 rqstp->rq_arg.head[0].iov_base = dr->args;
1242 rqstp->rq_arg.head[0].iov_len = dr->argslen << 2;
1245 rqstp->rq_arg.len = dr->argslen << 2;
1246 rqstp->rq_prot = dr->prot;
1247 memcpy(&rqstp->rq_addr, &dr->addr, dr->addrlen);
1248 rqstp->rq_addrlen = dr->addrlen;
1250 rqstp->rq_daddr = dr->daddr;
1252 rqstp->rq_xprt_ctxt = dr->xprt_ctxt;
1254 dr->xprt_ctxt = NULL;
1256 return dr->argslen << 2;
1262 struct svc_deferred_req *dr = NULL;
1268 dr = list_entry(xprt->xpt_deferred.next,
1271 list_del_init(&dr->handle.recent);
1275 return dr;