Lines Matching refs:subreq
96 struct netfs_io_subrequest *subreq; in netfs_clear_subrequests() local
103 subreq = list_first_entry(&stream->subrequests, in netfs_clear_subrequests()
105 list_del(&subreq->rreq_link); in netfs_clear_subrequests()
106 netfs_put_subrequest(subreq, netfs_sreq_trace_put_clear); in netfs_clear_subrequests()
175 struct netfs_io_subrequest *subreq; in netfs_alloc_subrequest() local
180 subreq = mempool_alloc(rreq->netfs_ops->subrequest_pool ?: &netfs_subrequest_pool, in netfs_alloc_subrequest()
182 if (subreq) in netfs_alloc_subrequest()
187 memset(subreq, 0, kmem_cache_size(cache)); in netfs_alloc_subrequest()
188 INIT_WORK(&subreq->work, NULL); in netfs_alloc_subrequest()
189 INIT_LIST_HEAD(&subreq->rreq_link); in netfs_alloc_subrequest()
190 refcount_set(&subreq->ref, 2); in netfs_alloc_subrequest()
191 subreq->rreq = rreq; in netfs_alloc_subrequest()
192 subreq->debug_index = atomic_inc_return(&rreq->subreq_counter); in netfs_alloc_subrequest()
195 return subreq; in netfs_alloc_subrequest()
198 void netfs_get_subrequest(struct netfs_io_subrequest *subreq, in netfs_get_subrequest() argument
203 __refcount_inc(&subreq->ref, &r); in netfs_get_subrequest()
204 trace_netfs_sreq_ref(subreq->rreq->debug_id, subreq->debug_index, r + 1, in netfs_get_subrequest()
208 static void netfs_free_subrequest(struct netfs_io_subrequest *subreq) in netfs_free_subrequest() argument
210 struct netfs_io_request *rreq = subreq->rreq; in netfs_free_subrequest()
212 trace_netfs_sreq(subreq, netfs_sreq_trace_free); in netfs_free_subrequest()
214 rreq->netfs_ops->free_subrequest(subreq); in netfs_free_subrequest()
215 mempool_free(subreq, rreq->netfs_ops->subrequest_pool ?: &netfs_subrequest_pool); in netfs_free_subrequest()
220 void netfs_put_subrequest(struct netfs_io_subrequest *subreq, in netfs_put_subrequest() argument
223 unsigned int debug_index = subreq->debug_index; in netfs_put_subrequest()
224 unsigned int debug_id = subreq->rreq->debug_id; in netfs_put_subrequest()
228 dead = __refcount_dec_and_test(&subreq->ref, &r); in netfs_put_subrequest()
231 netfs_free_subrequest(subreq); in netfs_put_subrequest()