Lines Matching refs:subreq

94 	struct netfs_io_subrequest *subreq;  in netfs_clear_subrequests()  local
101 subreq = list_first_entry(&stream->subrequests, in netfs_clear_subrequests()
103 list_del(&subreq->rreq_link); in netfs_clear_subrequests()
104 netfs_put_subrequest(subreq, was_async, in netfs_clear_subrequests()
176 struct netfs_io_subrequest *subreq; in netfs_alloc_subrequest() local
181 subreq = mempool_alloc(rreq->netfs_ops->subrequest_pool ?: &netfs_subrequest_pool, in netfs_alloc_subrequest()
183 if (subreq) in netfs_alloc_subrequest()
188 memset(subreq, 0, kmem_cache_size(cache)); in netfs_alloc_subrequest()
189 INIT_WORK(&subreq->work, NULL); in netfs_alloc_subrequest()
190 INIT_LIST_HEAD(&subreq->rreq_link); in netfs_alloc_subrequest()
191 refcount_set(&subreq->ref, 2); in netfs_alloc_subrequest()
192 subreq->rreq = rreq; in netfs_alloc_subrequest()
193 subreq->debug_index = atomic_inc_return(&rreq->subreq_counter); in netfs_alloc_subrequest()
196 return subreq; in netfs_alloc_subrequest()
199 void netfs_get_subrequest(struct netfs_io_subrequest *subreq, in netfs_get_subrequest() argument
204 __refcount_inc(&subreq->ref, &r); in netfs_get_subrequest()
205 trace_netfs_sreq_ref(subreq->rreq->debug_id, subreq->debug_index, r + 1, in netfs_get_subrequest()
209 static void netfs_free_subrequest(struct netfs_io_subrequest *subreq, in netfs_free_subrequest() argument
212 struct netfs_io_request *rreq = subreq->rreq; in netfs_free_subrequest()
214 trace_netfs_sreq(subreq, netfs_sreq_trace_free); in netfs_free_subrequest()
216 rreq->netfs_ops->free_subrequest(subreq); in netfs_free_subrequest()
217 mempool_free(subreq, rreq->netfs_ops->subrequest_pool ?: &netfs_subrequest_pool); in netfs_free_subrequest()
222 void netfs_put_subrequest(struct netfs_io_subrequest *subreq, bool was_async, in netfs_put_subrequest() argument
225 unsigned int debug_index = subreq->debug_index; in netfs_put_subrequest()
226 unsigned int debug_id = subreq->rreq->debug_id; in netfs_put_subrequest()
230 dead = __refcount_dec_and_test(&subreq->ref, &r); in netfs_put_subrequest()
233 netfs_free_subrequest(subreq, was_async); in netfs_put_subrequest()