Lines Matching defs:folio
255 struct folio *folio = fbatch.folios[i], *dfolio;
257 folio_lock(folio);
258 if (unlikely(!folio_test_dirty(folio)))
259 NILFS_PAGE_BUG(&folio->page, "inconsistent dirty state");
261 dfolio = filemap_grab_folio(dmap, folio->index);
264 folio_unlock(folio);
268 if (unlikely(!folio_buffers(folio)))
269 NILFS_PAGE_BUG(&folio->page,
272 nilfs_copy_page(&dfolio->page, &folio->page, 1);
277 folio_unlock(folio);
309 struct folio *folio = fbatch.folios[i], *dfolio;
310 pgoff_t index = folio->index;
312 folio_lock(folio);
315 /* overwrite existing folio in the destination cache */
317 nilfs_copy_page(&dfolio->page, &folio->page, 0);
320 /* Do we not need to remove folio from smap here? */
322 struct folio *f;
324 /* move the folio to the destination cache */
327 WARN_ON(folio != f);
332 f = __xa_store(&dmap->i_pages, index, folio, GFP_NOFS);
335 folio->mapping = NULL;
336 folio_put(folio);
338 folio->mapping = dmap;
340 if (folio_test_dirty(folio))
346 folio_unlock(folio);
370 struct folio *folio = fbatch.folios[i];
372 folio_lock(folio);
375 * This folio may have been removed from the address
379 if (likely(folio->mapping == mapping))
380 nilfs_clear_dirty_page(&folio->page, silent);
382 folio_unlock(folio);
496 struct folio *folio;
513 folio = fbatch.folios[i];
515 folio_lock(folio);
516 if (folio_buffers(folio)) {
520 b = folio->index << (PAGE_SHIFT - inode->i_blkbits);
521 bh = head = folio_buffers(folio);
537 folio_unlock(folio);
546 folio_unlock(folio);