Lines Matching refs:subreq

91 	struct netfs_io_subrequest *subreq;  in netfs_clear_subrequests()  local
96 subreq = list_first_entry(&rreq->subrequests, in netfs_clear_subrequests()
98 list_del(&subreq->rreq_link); in netfs_clear_subrequests()
99 netfs_put_subrequest(subreq, was_async, in netfs_clear_subrequests()
106 subreq = list_first_entry(&stream->subrequests, in netfs_clear_subrequests()
108 list_del(&subreq->rreq_link); in netfs_clear_subrequests()
109 netfs_put_subrequest(subreq, was_async, in netfs_clear_subrequests()
181 struct netfs_io_subrequest *subreq; in netfs_alloc_subrequest() local
186 subreq = mempool_alloc(rreq->netfs_ops->subrequest_pool ?: &netfs_subrequest_pool, in netfs_alloc_subrequest()
188 if (subreq) in netfs_alloc_subrequest()
193 memset(subreq, 0, kmem_cache_size(cache)); in netfs_alloc_subrequest()
194 INIT_WORK(&subreq->work, NULL); in netfs_alloc_subrequest()
195 INIT_LIST_HEAD(&subreq->rreq_link); in netfs_alloc_subrequest()
196 refcount_set(&subreq->ref, 2); in netfs_alloc_subrequest()
197 subreq->rreq = rreq; in netfs_alloc_subrequest()
198 subreq->debug_index = atomic_inc_return(&rreq->subreq_counter); in netfs_alloc_subrequest()
201 return subreq; in netfs_alloc_subrequest()
204 void netfs_get_subrequest(struct netfs_io_subrequest *subreq, in netfs_get_subrequest() argument
209 __refcount_inc(&subreq->ref, &r); in netfs_get_subrequest()
210 trace_netfs_sreq_ref(subreq->rreq->debug_id, subreq->debug_index, r + 1, in netfs_get_subrequest()
214 static void netfs_free_subrequest(struct netfs_io_subrequest *subreq, in netfs_free_subrequest() argument
217 struct netfs_io_request *rreq = subreq->rreq; in netfs_free_subrequest()
219 trace_netfs_sreq(subreq, netfs_sreq_trace_free); in netfs_free_subrequest()
221 rreq->netfs_ops->free_subrequest(subreq); in netfs_free_subrequest()
222 mempool_free(subreq, rreq->netfs_ops->subrequest_pool ?: &netfs_subrequest_pool); in netfs_free_subrequest()
227 void netfs_put_subrequest(struct netfs_io_subrequest *subreq, bool was_async, in netfs_put_subrequest() argument
230 unsigned int debug_index = subreq->debug_index; in netfs_put_subrequest()
231 unsigned int debug_id = subreq->rreq->debug_id; in netfs_put_subrequest()
235 dead = __refcount_dec_and_test(&subreq->ref, &r); in netfs_put_subrequest()
238 netfs_free_subrequest(subreq, was_async); in netfs_put_subrequest()