diff options
| author | Chao Yu <chao@kernel.org> | 2025-08-05 14:29:12 +0800 |
|---|---|---|
| committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2025-08-11 17:03:55 +0000 |
| commit | cbba5038ee29f16f583978d6debe486503693c70 (patch) | |
| tree | 4e0e515b15f8d72e42af13d549bcc0042a9f831e | |
| parent | 0b2cd5092139f499544c77b5107a74e5fdb3a386 (diff) | |
f2fs: clean up f2fs_truncate_partial_cluster()
Clean up codes as below:
- avoid unnecessary "err > 0" check condition
- use "1 << log_cluster_size" instead of F2FS_I(inode)->i_cluster_size
No logic changes.
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
| -rw-r--r-- | fs/f2fs/compress.c | 42 |
1 files changed, 19 insertions, 23 deletions
diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c index 72bc05b913af..6ad8d3bc6df7 100644 --- a/fs/f2fs/compress.c +++ b/fs/f2fs/compress.c @@ -1215,9 +1215,11 @@ int f2fs_truncate_partial_cluster(struct inode *inode, u64 from, bool lock) { void *fsdata = NULL; struct page *pagep; + struct page **rpages; int log_cluster_size = F2FS_I(inode)->i_log_cluster_size; pgoff_t start_idx = from >> (PAGE_SHIFT + log_cluster_size) << log_cluster_size; + int i; int err; err = f2fs_is_compressed_cluster(inode, start_idx); @@ -1238,36 +1240,30 @@ int f2fs_truncate_partial_cluster(struct inode *inode, u64 from, bool lock) if (err <= 0) return err; - if (err > 0) { - struct page **rpages = fsdata; - int cluster_size = F2FS_I(inode)->i_cluster_size; - int i; + rpages = fsdata; - for (i = cluster_size - 1; i >= 0; i--) { - struct folio *folio = page_folio(rpages[i]); - loff_t start = (loff_t)folio->index << PAGE_SHIFT; - loff_t offset = from > start ? from - start : 0; + for (i = (1 << log_cluster_size) - 1; i >= 0; i--) { + struct folio *folio = page_folio(rpages[i]); + loff_t start = (loff_t)folio->index << PAGE_SHIFT; + loff_t offset = from > start ? from - start : 0; - folio_zero_segment(folio, offset, folio_size(folio)); + folio_zero_segment(folio, offset, folio_size(folio)); - if (from >= start) - break; - } + if (from >= start) + break; + } - f2fs_compress_write_end(inode, fsdata, start_idx, true); + f2fs_compress_write_end(inode, fsdata, start_idx, true); - err = filemap_write_and_wait_range(inode->i_mapping, - round_down(from, cluster_size << PAGE_SHIFT), - LLONG_MAX); - if (err) - return err; + err = filemap_write_and_wait_range(inode->i_mapping, + round_down(from, 1 << log_cluster_size << PAGE_SHIFT), + LLONG_MAX); + if (err) + return err; - truncate_pagecache(inode, from); + truncate_pagecache(inode, from); - err = f2fs_do_truncate_blocks(inode, - round_up(from, PAGE_SIZE), lock); - } - return err; + return f2fs_do_truncate_blocks(inode, round_up(from, PAGE_SIZE), lock); } static int f2fs_write_compressed_pages(struct compress_ctx *cc, |
