f2fs: Use a folio in f2fs_is_cp_guaranteed()
Convert the passed page to a folio and use it throughout. Removes a use of fscrypt_is_bounce_page(), which we're trying to remove. 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:
committed by
Jaegeuk Kim
parent
4ecaf580ee
commit
a824388d91
+6
-5
@@ -47,14 +47,15 @@ void f2fs_destroy_bioset(void)
|
||||
bioset_exit(&f2fs_bioset);
|
||||
}
|
||||
|
||||
bool f2fs_is_cp_guaranteed(struct page *page)
|
||||
bool f2fs_is_cp_guaranteed(const struct page *page)
|
||||
{
|
||||
struct address_space *mapping = page_folio(page)->mapping;
|
||||
const struct folio *folio = page_folio(page);
|
||||
struct address_space *mapping = folio->mapping;
|
||||
struct inode *inode;
|
||||
struct f2fs_sb_info *sbi;
|
||||
|
||||
if (fscrypt_is_bounce_page(page))
|
||||
return page_private_gcing(fscrypt_pagecache_page(page));
|
||||
if (fscrypt_is_bounce_folio(folio))
|
||||
return folio_test_f2fs_gcing(fscrypt_pagecache_folio(folio));
|
||||
|
||||
inode = mapping->host;
|
||||
sbi = F2FS_I_SB(inode);
|
||||
@@ -65,7 +66,7 @@ bool f2fs_is_cp_guaranteed(struct page *page)
|
||||
return true;
|
||||
|
||||
if ((S_ISREG(inode->i_mode) && IS_NOQUOTA(inode)) ||
|
||||
page_private_gcing(page))
|
||||
folio_test_f2fs_gcing(folio))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
+1
-1
@@ -3990,7 +3990,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(struct page *page);
|
||||
bool f2fs_is_cp_guaranteed(const struct page *page);
|
||||
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,
|
||||
|
||||
@@ -332,12 +332,13 @@ static inline struct page *fscrypt_pagecache_page(struct page *bounce_page)
|
||||
return (struct page *)page_private(bounce_page);
|
||||
}
|
||||
|
||||
static inline bool fscrypt_is_bounce_folio(struct folio *folio)
|
||||
static inline bool fscrypt_is_bounce_folio(const struct folio *folio)
|
||||
{
|
||||
return folio->mapping == NULL;
|
||||
}
|
||||
|
||||
static inline struct folio *fscrypt_pagecache_folio(struct folio *bounce_folio)
|
||||
static inline
|
||||
struct folio *fscrypt_pagecache_folio(const struct folio *bounce_folio)
|
||||
{
|
||||
return bounce_folio->private;
|
||||
}
|
||||
@@ -518,12 +519,13 @@ static inline struct page *fscrypt_pagecache_page(struct page *bounce_page)
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
|
||||
static inline bool fscrypt_is_bounce_folio(struct folio *folio)
|
||||
static inline bool fscrypt_is_bounce_folio(const struct folio *folio)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline struct folio *fscrypt_pagecache_folio(struct folio *bounce_folio)
|
||||
static inline
|
||||
struct folio *fscrypt_pagecache_folio(const struct folio *bounce_folio)
|
||||
{
|
||||
WARN_ON_ONCE(1);
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
Reference in New Issue
Block a user