Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Chao Yu and committed by
Jaegeuk Kim
cbba5038 0b2cd509

+22 -26
+22 -26
fs/f2fs/compress.c
··· 1215 1215 { 1216 1216 void *fsdata = NULL; 1217 1217 struct page *pagep; 1218 + struct page **rpages; 1218 1219 int log_cluster_size = F2FS_I(inode)->i_log_cluster_size; 1219 1220 pgoff_t start_idx = from >> (PAGE_SHIFT + log_cluster_size) << 1220 1221 log_cluster_size; 1222 + int i; 1221 1223 int err; 1222 1224 1223 1225 err = f2fs_is_compressed_cluster(inode, start_idx); ··· 1240 1238 if (err <= 0) 1241 1239 return err; 1242 1240 1243 - if (err > 0) { 1244 - struct page **rpages = fsdata; 1245 - int cluster_size = F2FS_I(inode)->i_cluster_size; 1246 - int i; 1241 + rpages = fsdata; 1247 1242 1248 - for (i = cluster_size - 1; i >= 0; i--) { 1249 - struct folio *folio = page_folio(rpages[i]); 1250 - loff_t start = (loff_t)folio->index << PAGE_SHIFT; 1251 - loff_t offset = from > start ? from - start : 0; 1243 + for (i = (1 << log_cluster_size) - 1; i >= 0; i--) { 1244 + struct folio *folio = page_folio(rpages[i]); 1245 + loff_t start = (loff_t)folio->index << PAGE_SHIFT; 1246 + loff_t offset = from > start ? from - start : 0; 1252 1247 1253 - folio_zero_segment(folio, offset, folio_size(folio)); 1248 + folio_zero_segment(folio, offset, folio_size(folio)); 1254 1249 1255 - if (from >= start) 1256 - break; 1257 - } 1258 - 1259 - f2fs_compress_write_end(inode, fsdata, start_idx, true); 1260 - 1261 - err = filemap_write_and_wait_range(inode->i_mapping, 1262 - round_down(from, cluster_size << PAGE_SHIFT), 1263 - LLONG_MAX); 1264 - if (err) 1265 - return err; 1266 - 1267 - truncate_pagecache(inode, from); 1268 - 1269 - err = f2fs_do_truncate_blocks(inode, 1270 - round_up(from, PAGE_SIZE), lock); 1250 + if (from >= start) 1251 + break; 1271 1252 } 1272 - return err; 1253 + 1254 + f2fs_compress_write_end(inode, fsdata, start_idx, true); 1255 + 1256 + err = filemap_write_and_wait_range(inode->i_mapping, 1257 + round_down(from, 1 << log_cluster_size << PAGE_SHIFT), 1258 + LLONG_MAX); 1259 + if (err) 1260 + return err; 1261 + 1262 + truncate_pagecache(inode, from); 1263 + 1264 + return f2fs_do_truncate_blocks(inode, round_up(from, PAGE_SIZE), lock); 1273 1265 } 1274 1266 1275 1267 static int f2fs_write_compressed_pages(struct compress_ctx *cc,