mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 08:33:17 +02:00
f2fs: Pass a folio to WB_DATA_TYPE() and f2fs_is_cp_guaranteed()
All callers now have a folio so pass it in. Removes a call to compound_head(). Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
fec9035417
commit
d6966e7ed2
|
|
@ -1478,7 +1478,7 @@ void f2fs_compress_write_end_io(struct bio *bio, struct folio *folio)
|
|||
struct page *page = &folio->page;
|
||||
struct f2fs_sb_info *sbi = bio->bi_private;
|
||||
struct compress_io_ctx *cic = folio->private;
|
||||
enum count_type type = WB_DATA_TYPE(page,
|
||||
enum count_type type = WB_DATA_TYPE(folio,
|
||||
f2fs_is_compressed_page(page));
|
||||
int i;
|
||||
|
||||
|
|
|
|||
|
|
@ -47,9 +47,8 @@ void f2fs_destroy_bioset(void)
|
|||
bioset_exit(&f2fs_bioset);
|
||||
}
|
||||
|
||||
bool f2fs_is_cp_guaranteed(const struct page *page)
|
||||
bool f2fs_is_cp_guaranteed(const struct folio *folio)
|
||||
{
|
||||
const struct folio *folio = page_folio(page);
|
||||
struct address_space *mapping = folio->mapping;
|
||||
struct inode *inode;
|
||||
struct f2fs_sb_info *sbi;
|
||||
|
|
@ -346,7 +345,7 @@ static void f2fs_write_end_io(struct bio *bio)
|
|||
}
|
||||
#endif
|
||||
|
||||
type = WB_DATA_TYPE(&folio->page, false);
|
||||
type = WB_DATA_TYPE(folio, false);
|
||||
|
||||
if (unlikely(bio->bi_status != BLK_STS_OK)) {
|
||||
mapping_set_error(folio->mapping, -EIO);
|
||||
|
|
@ -713,7 +712,7 @@ int f2fs_submit_page_bio(struct f2fs_io_info *fio)
|
|||
wbc_account_cgroup_owner(fio->io_wbc, fio_folio, PAGE_SIZE);
|
||||
|
||||
inc_page_count(fio->sbi, is_read_io(fio->op) ?
|
||||
__read_io_type(data_folio) : WB_DATA_TYPE(fio->page, false));
|
||||
__read_io_type(data_folio) : WB_DATA_TYPE(fio->folio, false));
|
||||
|
||||
if (is_read_io(bio_op(bio)))
|
||||
f2fs_submit_read_bio(fio->sbi, bio, fio->type);
|
||||
|
|
@ -914,7 +913,7 @@ int f2fs_merge_page_bio(struct f2fs_io_info *fio)
|
|||
if (fio->io_wbc)
|
||||
wbc_account_cgroup_owner(fio->io_wbc, folio, folio_size(folio));
|
||||
|
||||
inc_page_count(fio->sbi, WB_DATA_TYPE(&data_folio->page, false));
|
||||
inc_page_count(fio->sbi, WB_DATA_TYPE(data_folio, false));
|
||||
|
||||
*fio->last_block = fio->new_blkaddr;
|
||||
*fio->bio = bio;
|
||||
|
|
@ -989,7 +988,7 @@ void f2fs_submit_page_write(struct f2fs_io_info *fio)
|
|||
/* set submitted = true as a return value */
|
||||
fio->submitted = 1;
|
||||
|
||||
type = WB_DATA_TYPE(&bio_folio->page, fio->compressed_page);
|
||||
type = WB_DATA_TYPE(bio_folio, fio->compressed_page);
|
||||
inc_page_count(sbi, type);
|
||||
|
||||
if (io->bio &&
|
||||
|
|
|
|||
|
|
@ -1123,8 +1123,8 @@ struct f2fs_sm_info {
|
|||
* f2fs monitors the number of several block types such as on-writeback,
|
||||
* dirty dentry blocks, dirty node blocks, and dirty meta blocks.
|
||||
*/
|
||||
#define WB_DATA_TYPE(p, f) \
|
||||
(f || f2fs_is_cp_guaranteed(p) ? F2FS_WB_CP_DATA : F2FS_WB_DATA)
|
||||
#define WB_DATA_TYPE(folio, f) \
|
||||
(f || f2fs_is_cp_guaranteed(folio) ? F2FS_WB_CP_DATA : F2FS_WB_DATA)
|
||||
enum count_type {
|
||||
F2FS_DIRTY_DENTS,
|
||||
F2FS_DIRTY_DATA,
|
||||
|
|
@ -3992,7 +3992,7 @@ void f2fs_init_ckpt_req_control(struct f2fs_sb_info *sbi);
|
|||
*/
|
||||
int __init f2fs_init_bioset(void);
|
||||
void f2fs_destroy_bioset(void);
|
||||
bool f2fs_is_cp_guaranteed(const struct page *page);
|
||||
bool f2fs_is_cp_guaranteed(const struct folio *folio);
|
||||
int f2fs_init_bio_entry_cache(void);
|
||||
void f2fs_destroy_bio_entry_cache(void);
|
||||
void f2fs_submit_read_bio(struct f2fs_sb_info *sbi, struct bio *bio,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user