Lines Matching refs:subreq
62 struct netfs_io_subrequest *subreq; in netfs_clear_subrequests() local
65 subreq = list_first_entry(&rreq->subrequests, in netfs_clear_subrequests()
67 list_del(&subreq->rreq_link); in netfs_clear_subrequests()
68 netfs_put_subrequest(subreq, was_async, in netfs_clear_subrequests()
113 struct netfs_io_subrequest *subreq; in netfs_alloc_subrequest() local
115 subreq = kzalloc(sizeof(struct netfs_io_subrequest), GFP_KERNEL); in netfs_alloc_subrequest()
116 if (subreq) { in netfs_alloc_subrequest()
117 INIT_LIST_HEAD(&subreq->rreq_link); in netfs_alloc_subrequest()
118 refcount_set(&subreq->ref, 2); in netfs_alloc_subrequest()
119 subreq->rreq = rreq; in netfs_alloc_subrequest()
124 return subreq; in netfs_alloc_subrequest()
127 void netfs_get_subrequest(struct netfs_io_subrequest *subreq, in netfs_get_subrequest() argument
132 __refcount_inc(&subreq->ref, &r); in netfs_get_subrequest()
133 trace_netfs_sreq_ref(subreq->rreq->debug_id, subreq->debug_index, r + 1, in netfs_get_subrequest()
137 static void netfs_free_subrequest(struct netfs_io_subrequest *subreq, in netfs_free_subrequest() argument
140 struct netfs_io_request *rreq = subreq->rreq; in netfs_free_subrequest()
142 trace_netfs_sreq(subreq, netfs_sreq_trace_free); in netfs_free_subrequest()
143 kfree(subreq); in netfs_free_subrequest()
148 void netfs_put_subrequest(struct netfs_io_subrequest *subreq, bool was_async, in netfs_put_subrequest() argument
151 unsigned int debug_index = subreq->debug_index; in netfs_put_subrequest()
152 unsigned int debug_id = subreq->rreq->debug_id; in netfs_put_subrequest()
156 dead = __refcount_dec_and_test(&subreq->ref, &r); in netfs_put_subrequest()
159 netfs_free_subrequest(subreq, was_async); in netfs_put_subrequest()