Skip to content

Commit 3d56fbb

Browse files
Yi SunJaegeuk Kim
authored andcommitted
f2fs: expand f2fs_invalidate_compress_page() to f2fs_invalidate_compress_pages_range()
New function f2fs_invalidate_compress_pages_range() adds the @len parameter. So it can process some consecutive blocks at a time. Signed-off-by: Yi Sun <[email protected]> Signed-off-by: Jaegeuk Kim <[email protected]>
1 parent 76f0137 commit 3d56fbb

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

fs/f2fs/compress.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1909,11 +1909,12 @@ struct address_space *COMPRESS_MAPPING(struct f2fs_sb_info *sbi)
19091909
return sbi->compress_inode->i_mapping;
19101910
}
19111911

1912-
void f2fs_invalidate_compress_page(struct f2fs_sb_info *sbi, block_t blkaddr)
1912+
void f2fs_invalidate_compress_pages_range(struct f2fs_sb_info *sbi,
1913+
block_t blkaddr, unsigned int len)
19131914
{
19141915
if (!sbi->compress_inode)
19151916
return;
1916-
invalidate_mapping_pages(COMPRESS_MAPPING(sbi), blkaddr, blkaddr);
1917+
invalidate_mapping_pages(COMPRESS_MAPPING(sbi), blkaddr, blkaddr + len - 1);
19171918
}
19181919

19191920
void f2fs_cache_compressed_page(struct f2fs_sb_info *sbi, struct page *page,

fs/f2fs/f2fs.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4391,7 +4391,8 @@ void f2fs_destroy_page_array_cache(struct f2fs_sb_info *sbi);
43914391
int __init f2fs_init_compress_cache(void);
43924392
void f2fs_destroy_compress_cache(void);
43934393
struct address_space *COMPRESS_MAPPING(struct f2fs_sb_info *sbi);
4394-
void f2fs_invalidate_compress_page(struct f2fs_sb_info *sbi, block_t blkaddr);
4394+
void f2fs_invalidate_compress_pages_range(struct f2fs_sb_info *sbi,
4395+
block_t blkaddr, unsigned int len);
43954396
void f2fs_cache_compressed_page(struct f2fs_sb_info *sbi, struct page *page,
43964397
nid_t ino, block_t blkaddr);
43974398
bool f2fs_load_compressed_page(struct f2fs_sb_info *sbi, struct page *page,
@@ -4446,8 +4447,8 @@ static inline int f2fs_init_page_array_cache(struct f2fs_sb_info *sbi) { return
44464447
static inline void f2fs_destroy_page_array_cache(struct f2fs_sb_info *sbi) { }
44474448
static inline int __init f2fs_init_compress_cache(void) { return 0; }
44484449
static inline void f2fs_destroy_compress_cache(void) { }
4449-
static inline void f2fs_invalidate_compress_page(struct f2fs_sb_info *sbi,
4450-
block_t blkaddr) { }
4450+
static inline void f2fs_invalidate_compress_pages_range(struct f2fs_sb_info *sbi,
4451+
block_t blkaddr, unsigned int len) { }
44514452
static inline void f2fs_cache_compressed_page(struct f2fs_sb_info *sbi,
44524453
struct page *page, nid_t ino, block_t blkaddr) { }
44534454
static inline bool f2fs_load_compressed_page(struct f2fs_sb_info *sbi,
@@ -4766,7 +4767,7 @@ static inline void f2fs_invalidate_internal_cache(struct f2fs_sb_info *sbi,
47664767
block_t blkaddr)
47674768
{
47684769
f2fs_truncate_meta_inode_pages(sbi, blkaddr, 1);
4769-
f2fs_invalidate_compress_page(sbi, blkaddr);
4770+
f2fs_invalidate_compress_pages_range(sbi, blkaddr, 1);
47704771
}
47714772

47724773
#define EFSBADCRC EBADMSG /* Bad CRC detected */

0 commit comments

Comments
 (0)