Lines Matching refs:wbc

2364 		struct writeback_control *wbc, struct folio *folio)
2383 if (wbc->sync_mode == WB_SYNC_NONE)
2395 static xa_mark_t wbc_to_tag(struct writeback_control *wbc)
2397 if (wbc->sync_mode == WB_SYNC_ALL || wbc->tagged_writepages)
2402 static pgoff_t wbc_end(struct writeback_control *wbc)
2404 if (wbc->range_cyclic)
2406 return wbc->range_end >> PAGE_SHIFT;
2410 struct writeback_control *wbc)
2415 folio = folio_batch_next(&wbc->fbatch);
2417 folio_batch_release(&wbc->fbatch);
2419 filemap_get_folios_tag(mapping, &wbc->index, wbc_end(wbc),
2420 wbc_to_tag(wbc), &wbc->fbatch);
2421 folio = folio_batch_next(&wbc->fbatch);
2427 if (unlikely(!folio_prepare_writeback(mapping, wbc, folio))) {
2432 trace_wbc_writepage(wbc, inode_to_bdi(mapping->host));
2439 * @wbc: writeback context
2444 * @wbc on @mapping and should be called in a while loop in the ->writepages
2454 * Once the writeback described in @wbc has finished, this function will return
2463 struct writeback_control *wbc, struct folio *folio, int *error)
2466 folio_batch_init(&wbc->fbatch);
2467 wbc->saved_err = *error = 0;
2476 if (wbc->range_cyclic)
2477 wbc->index = mapping->writeback_index;
2479 wbc->index = wbc->range_start >> PAGE_SHIFT;
2492 if (wbc->sync_mode == WB_SYNC_ALL || wbc->tagged_writepages)
2493 tag_pages_for_writeback(mapping, wbc->index,
2494 wbc_end(wbc));
2496 wbc->nr_to_write -= folio_nr_pages(folio);
2503 * we run past wbc->nr_to_write or encounter errors.
2504 * We stash away the first error we encounter in wbc->saved_err
2509 * wbc->nr_to_write or encounter the first error.
2511 if (wbc->sync_mode == WB_SYNC_ALL) {
2512 if (*error && !wbc->saved_err)
2513 wbc->saved_err = *error;
2515 if (*error || wbc->nr_to_write <= 0)
2520 folio = writeback_get_folio(mapping, wbc);
2532 if (wbc->range_cyclic)
2539 *error = wbc->saved_err;
2544 if (wbc->range_cyclic)
2546 folio_batch_release(&wbc->fbatch);
2553 * @wbc: subtract the number of written pages from *@wbc->nr_to_write
2562 struct writeback_control *wbc, writepage_t writepage,
2568 while ((folio = writeback_iter(mapping, wbc, folio, &error))) {
2569 error = writepage(folio, wbc, data);
2581 struct writeback_control *wbc)
2588 while ((folio = writeback_iter(mapping, wbc, folio, &err))) {
2589 err = mapping->a_ops->writepage(&folio->page, wbc);
2601 int do_writepages(struct address_space *mapping, struct writeback_control *wbc)
2606 if (wbc->nr_to_write <= 0)
2608 wb = inode_to_wb_wbc(mapping->host, wbc);
2612 ret = mapping->a_ops->writepages(mapping, wbc);
2614 ret = writeback_use_writepage(mapping, wbc);
2619 if (ret != -ENOMEM || wbc->sync_mode != WB_SYNC_ALL)
2770 * @wbc: The writeback control.
2780 bool folio_redirty_for_writepage(struct writeback_control *wbc,
2787 wbc->pages_skipped += nr;