Lines Matching refs:tail
16 struct folio_queue *tail = rreq->buffer_tail, *prev; in netfs_buffer_make_space() local
19 if (WARN_ON_ONCE(!rreq->buffer && tail) || in netfs_buffer_make_space()
20 WARN_ON_ONCE(rreq->buffer && !tail)) in netfs_buffer_make_space()
23 prev = tail; in netfs_buffer_make_space()
25 if (!folioq_full(tail)) in netfs_buffer_make_space()
26 return tail; in netfs_buffer_make_space()
27 prev_nr_slots = folioq_nr_slots(tail); in netfs_buffer_make_space()
30 tail = kmalloc(sizeof(*tail), GFP_NOFS); in netfs_buffer_make_space()
31 if (!tail) in netfs_buffer_make_space()
34 folioq_init(tail); in netfs_buffer_make_space()
35 tail->prev = prev; in netfs_buffer_make_space()
40 WRITE_ONCE(prev->next, tail); in netfs_buffer_make_space()
42 rreq->buffer_tail = tail; in netfs_buffer_make_space()
44 rreq->buffer = tail; in netfs_buffer_make_space()
45 iov_iter_folio_queue(&rreq->io_iter, ITER_SOURCE, tail, 0, 0, 0); in netfs_buffer_make_space()
52 rreq->io_iter.folioq = tail; in netfs_buffer_make_space()
57 return tail; in netfs_buffer_make_space()
66 struct folio_queue *tail; in netfs_buffer_append_folio() local
69 tail = netfs_buffer_make_space(rreq); in netfs_buffer_append_folio()
70 if (IS_ERR(tail)) in netfs_buffer_append_folio()
71 return PTR_ERR(tail); in netfs_buffer_append_folio()
75 slot = folioq_append(tail, folio); in netfs_buffer_append_folio()