| /linux/fs/netfs/ |
| H A D | iterator.c | 199 const struct folio_queue *folioq = iter->folioq; in netfs_limit_folioq() local 210 if (slot >= folioq_nr_slots(folioq)) { in netfs_limit_folioq() 211 folioq = folioq->next; in netfs_limit_folioq() 217 size_t flen = folioq_folio_size(folioq, slot); in netfs_limit_folioq() 230 if (slot >= folioq_nr_slots(folioq)) { in netfs_limit_folioq() 231 folioq = folioq->next; in netfs_limit_folioq() 234 } while (folioq); in netfs_limit_folioq()
|
| H A D | read_pgpriv2.c | 173 struct folio_queue *folioq = creq->buffer.tail; in netfs_pgpriv2_unlock_copied_folios() local 178 if (slot >= folioq_nr_slots(folioq)) { in netfs_pgpriv2_unlock_copied_folios() 179 folioq = rolling_buffer_delete_spent(&creq->buffer); in netfs_pgpriv2_unlock_copied_folios() 188 folio = folioq_folio(folioq, slot); in netfs_pgpriv2_unlock_copied_folios() 215 folioq_clear(folioq, slot); in netfs_pgpriv2_unlock_copied_folios() 217 if (slot >= folioq_nr_slots(folioq)) { in netfs_pgpriv2_unlock_copied_folios() 218 folioq = rolling_buffer_delete_spent(&creq->buffer); in netfs_pgpriv2_unlock_copied_folios() 219 if (!folioq) in netfs_pgpriv2_unlock_copied_folios() 228 creq->buffer.tail = folioq; in netfs_pgpriv2_unlock_copied_folios()
|
| H A D | read_collect.c | 43 struct folio_queue *folioq, in netfs_unlock_read_folio() argument 47 struct folio *folio = folioq_folio(folioq, slot); in netfs_unlock_read_folio() 78 folioq_clear(folioq, slot); in netfs_unlock_read_folio() 94 folioq_clear(folioq, slot); in netfs_unlock_read_folio() 103 struct folio_queue *folioq = rreq->buffer.tail; in netfs_read_unlock_folios() local 112 if (slot >= folioq_nr_slots(folioq)) { in netfs_read_unlock_folios() 113 folioq = rolling_buffer_delete_spent(&rreq->buffer); in netfs_read_unlock_folios() 114 if (!folioq) { in netfs_read_unlock_folios() 130 folio = folioq_folio(folioq, slot); in netfs_read_unlock_folios() 136 order = folioq_folio_order(folioq, slot); in netfs_read_unlock_folios() [all …]
|
| H A D | write_collect.c | 114 struct folio_queue *folioq = wreq->buffer.tail; in netfs_writeback_unlock_folios() local 118 if (WARN_ON_ONCE(!folioq)) { in netfs_writeback_unlock_folios() 130 if (slot >= folioq_nr_slots(folioq)) { in netfs_writeback_unlock_folios() 131 folioq = rolling_buffer_delete_spent(&wreq->buffer); in netfs_writeback_unlock_folios() 132 if (!folioq) in netfs_writeback_unlock_folios() 143 folio = folioq_folio(folioq, slot); in netfs_writeback_unlock_folios() 170 folioq_clear(folioq, slot); in netfs_writeback_unlock_folios() 172 if (slot >= folioq_nr_slots(folioq)) { in netfs_writeback_unlock_folios() 173 folioq = rolling_buffer_delete_spent(&wreq->buffer); in netfs_writeback_unlock_folios() 174 if (!folioq) in netfs_writeback_unlock_folios() [all …]
|
| H A D | rolling_buffer.c | 48 void netfs_folioq_free(struct folio_queue *folioq, in netfs_folioq_free() argument 51 trace_netfs_folioq(folioq, trace); in netfs_folioq_free() 53 kfree(folioq); in netfs_folioq_free() 97 if (roll->iter.folioq == head && in rolling_buffer_make_space() 99 roll->iter.folioq = fq; in rolling_buffer_make_space()
|
| H A D | write_issue.c | 169 wreq_iter->folioq_slot >= folioq_nr_slots(wreq_iter->folioq)) in netfs_prepare_write() 858 for (fq = (struct folio_queue *)iter->folioq; fq; fq = fq->next) { in netfs_writeback_single()
|
| /linux/lib/ |
| H A D | iov_iter.c | 543 const struct folio_queue *folioq = i->folioq; in iov_iter_folioq_advance() local 550 if (slot >= folioq_nr_slots(folioq)) { in iov_iter_folioq_advance() 551 folioq = folioq->next; in iov_iter_folioq_advance() 557 size_t fsize = folioq_folio_size(folioq, slot); in iov_iter_folioq_advance() 563 if (slot >= folioq_nr_slots(folioq) && folioq->next) { in iov_iter_folioq_advance() 564 folioq = folioq->next; in iov_iter_folioq_advance() 571 i->folioq = folioq; in iov_iter_folioq_advance() 596 const struct folio_queue *folioq = i->folioq; in iov_iter_folioq_revert() local 603 folioq = folioq->prev; in iov_iter_folioq_revert() 604 slot = folioq_nr_slots(folioq); in iov_iter_folioq_revert() [all …]
|
| H A D | scatterlist.c | 1280 const struct folio_queue *folioq = iter->folioq; in extract_folioq_to_sg() local 1286 BUG_ON(!folioq); in extract_folioq_to_sg() 1288 if (slot >= folioq_nr_slots(folioq)) { in extract_folioq_to_sg() 1289 folioq = folioq->next; in extract_folioq_to_sg() 1290 if (WARN_ON_ONCE(!folioq)) in extract_folioq_to_sg() 1296 struct folio *folio = folioq_folio(folioq, slot); in extract_folioq_to_sg() 1297 size_t fsize = folioq_folio_size(folioq, slot); in extract_folioq_to_sg() 1313 if (slot >= folioq_nr_slots(folioq)) { in extract_folioq_to_sg() 1314 if (!folioq->next) { in extract_folioq_to_sg() 1318 folioq = folioq->next; in extract_folioq_to_sg() [all …]
|
| /linux/include/linux/ |
| H A D | iov_iter.h | 151 const struct folio_queue *folioq = iter->folioq; in iterate_folioq() local 155 if (slot == folioq_nr_slots(folioq)) { in iterate_folioq() 157 folioq = folioq->next; in iterate_folioq() 162 struct folio *folio = folioq_folio(folioq, slot); in iterate_folioq() 170 fsize = folioq_folio_size(folioq, slot); in iterate_folioq() 184 if (slot == folioq_nr_slots(folioq) && folioq->next) { in iterate_folioq() 185 folioq = folioq->next; in iterate_folioq() 194 iter->folioq = folioq; in iterate_folioq()
|
| H A D | netfs.h | 457 void netfs_folioq_free(struct folio_queue *folioq,
|
| /linux/lib/tests/ |
| H A D | kunit_iov_iter.c | 368 struct folio_queue *folioq, *next; in iov_kunit_destroy_folioq() local 370 for (folioq = data; folioq; folioq = next) { in iov_kunit_destroy_folioq() 371 next = folioq->next; in iov_kunit_destroy_folioq() 372 for (int i = 0; i < folioq_nr_slots(folioq); i++) in iov_kunit_destroy_folioq() 373 if (folioq_folio(folioq, i)) in iov_kunit_destroy_folioq() 374 folio_put(folioq_folio(folioq, i)); in iov_kunit_destroy_folioq() 375 kfree(folioq); in iov_kunit_destroy_folioq() 381 struct folio_queue *folioq, in iov_kunit_load_folioq() argument 384 struct folio_queue *p = folioq; in iov_kunit_load_folioq() 399 iov_iter_folio_queue(iter, dir, folioq, 0, 0, size); in iov_kunit_load_folioq() [all …]
|
| /linux/fs/smb/client/ |
| H A D | smbdirect.c | 3251 const struct folio_queue *folioq = iter->folioq; in smb_extract_folioq_to_rdma() local 3256 BUG_ON(!folioq); in smb_extract_folioq_to_rdma() 3258 if (slot >= folioq_nr_slots(folioq)) { in smb_extract_folioq_to_rdma() 3259 folioq = folioq->next; in smb_extract_folioq_to_rdma() 3260 if (WARN_ON_ONCE(!folioq)) in smb_extract_folioq_to_rdma() 3266 struct folio *folio = folioq_folio(folioq, slot); in smb_extract_folioq_to_rdma() 3267 size_t fsize = folioq_folio_size(folioq, slot); in smb_extract_folioq_to_rdma() 3283 if (slot >= folioq_nr_slots(folioq)) { in smb_extract_folioq_to_rdma() 3284 if (!folioq->next) { in smb_extract_folioq_to_rdma() 3288 folioq = folioq->next; in smb_extract_folioq_to_rdma() [all …]
|
| H A D | smb2ops.c | 4679 cifs_copy_folioq_to_iter(struct folio_queue *folioq, size_t data_size, in cifs_copy_folioq_to_iter() argument 4682 for (; folioq; folioq = folioq->next) { in cifs_copy_folioq_to_iter() 4683 for (int s = 0; s < folioq_count(folioq); s++) { in cifs_copy_folioq_to_iter() 4684 struct folio *folio = folioq_folio(folioq, s); in cifs_copy_folioq_to_iter()
|