Message ID | 20230630163033.165326-1-colin.i.king@gmail.com |
---|---|
State | Not Applicable |
Headers | show |
Series | [next] ext2: remove redundant assignment to variable desc | expand |
On Fri, Jun 30, 2023 at 05:30:33PM +0100, Colin Ian King wrote: > Variable desc is being assigned a value that is never read, the exit > via label found immeditely returns with no access to desc. The > assignment is redundant and can be removed. Cleans up clang scan > muild warning: > > fs/ext2/ialloc.c:297:4: warning: Value stored to 'desc' is never > read [deadcode.DeadStores] > > Signed-off-by: Colin Ian King <colin.i.king@gmail.com> > --- > fs/ext2/ialloc.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c > index a4e1d7a9c544..f50beb77d6ba 100644 > --- a/fs/ext2/ialloc.c > +++ b/fs/ext2/ialloc.c > @@ -294,7 +294,6 @@ static int find_group_orlov(struct super_block *sb, struct inode *parent) > best_desc = desc; > } > if (best_group >= 0) { > - desc = best_desc; You should get rid of the "best_desc" variable as well. regards, dan carpenter
On 30/06/2023 17:47, Dan Carpenter wrote: > On Fri, Jun 30, 2023 at 05:30:33PM +0100, Colin Ian King wrote: >> Variable desc is being assigned a value that is never read, the exit >> via label found immeditely returns with no access to desc. The >> assignment is redundant and can be removed. Cleans up clang scan >> muild warning: >> >> fs/ext2/ialloc.c:297:4: warning: Value stored to 'desc' is never >> read [deadcode.DeadStores] >> >> Signed-off-by: Colin Ian King <colin.i.king@gmail.com> >> --- >> fs/ext2/ialloc.c | 1 - >> 1 file changed, 1 deletion(-) >> >> diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c >> index a4e1d7a9c544..f50beb77d6ba 100644 >> --- a/fs/ext2/ialloc.c >> +++ b/fs/ext2/ialloc.c >> @@ -294,7 +294,6 @@ static int find_group_orlov(struct super_block *sb, struct inode *parent) >> best_desc = desc; >> } >> if (best_group >= 0) { >> - desc = best_desc; > > You should get rid of the "best_desc" variable as well. Good point! Will send V2. Thanks Dan. > > regards, > dan carpenter >
Hi Colin,
kernel test robot noticed the following build warnings:
[auto build test WARNING on linus/master]
[also build test WARNING on v6.4 next-20230630]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Colin-Ian-King/ext2-remove-redundant-assignment-to-variable-desc/20230701-003209
base: linus/master
patch link: https://lore.kernel.org/r/20230630163033.165326-1-colin.i.king%40gmail.com
patch subject: [PATCH][next] ext2: remove redundant assignment to variable desc
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20230701/202307010203.gNQQkF8h-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230701/202307010203.gNQQkF8h-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307010203.gNQQkF8h-lkp@intel.com/
All warnings (new ones prefixed by >>):
fs/ext2/ialloc.c: In function 'find_group_orlov':
>> fs/ext2/ialloc.c:276:41: warning: variable 'best_desc' set but not used [-Wunused-but-set-variable]
276 | struct ext2_group_desc *best_desc = NULL;
| ^~~~~~~~~
vim +/best_desc +276 fs/ext2/ialloc.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 250
^1da177e4c3f41 Linus Torvalds 2005-04-16 251 static int find_group_orlov(struct super_block *sb, struct inode *parent)
^1da177e4c3f41 Linus Torvalds 2005-04-16 252 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 253 int parent_group = EXT2_I(parent)->i_block_group;
^1da177e4c3f41 Linus Torvalds 2005-04-16 254 struct ext2_sb_info *sbi = EXT2_SB(sb);
^1da177e4c3f41 Linus Torvalds 2005-04-16 255 struct ext2_super_block *es = sbi->s_es;
^1da177e4c3f41 Linus Torvalds 2005-04-16 256 int ngroups = sbi->s_groups_count;
^1da177e4c3f41 Linus Torvalds 2005-04-16 257 int inodes_per_group = EXT2_INODES_PER_GROUP(sb);
^1da177e4c3f41 Linus Torvalds 2005-04-16 258 int freei;
^1da177e4c3f41 Linus Torvalds 2005-04-16 259 int avefreei;
^1da177e4c3f41 Linus Torvalds 2005-04-16 260 int free_blocks;
^1da177e4c3f41 Linus Torvalds 2005-04-16 261 int avefreeb;
^1da177e4c3f41 Linus Torvalds 2005-04-16 262 int blocks_per_dir;
^1da177e4c3f41 Linus Torvalds 2005-04-16 263 int ndirs;
^1da177e4c3f41 Linus Torvalds 2005-04-16 264 int max_debt, max_dirs, min_blocks, min_inodes;
^1da177e4c3f41 Linus Torvalds 2005-04-16 265 int group = -1, i;
^1da177e4c3f41 Linus Torvalds 2005-04-16 266 struct ext2_group_desc *desc;
^1da177e4c3f41 Linus Torvalds 2005-04-16 267
^1da177e4c3f41 Linus Torvalds 2005-04-16 268 freei = percpu_counter_read_positive(&sbi->s_freeinodes_counter);
^1da177e4c3f41 Linus Torvalds 2005-04-16 269 avefreei = freei / ngroups;
^1da177e4c3f41 Linus Torvalds 2005-04-16 270 free_blocks = percpu_counter_read_positive(&sbi->s_freeblocks_counter);
^1da177e4c3f41 Linus Torvalds 2005-04-16 271 avefreeb = free_blocks / ngroups;
^1da177e4c3f41 Linus Torvalds 2005-04-16 272 ndirs = percpu_counter_read_positive(&sbi->s_dirs_counter);
^1da177e4c3f41 Linus Torvalds 2005-04-16 273
2b0143b5c986be David Howells 2015-03-17 274 if ((parent == d_inode(sb->s_root)) ||
^1da177e4c3f41 Linus Torvalds 2005-04-16 275 (EXT2_I(parent)->i_flags & EXT2_TOPDIR_FL)) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 @276 struct ext2_group_desc *best_desc = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 277 int best_ndir = inodes_per_group;
^1da177e4c3f41 Linus Torvalds 2005-04-16 278 int best_group = -1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 279
8032bf1233a746 Jason A. Donenfeld 2022-10-09 280 parent_group = get_random_u32_below(ngroups);
^1da177e4c3f41 Linus Torvalds 2005-04-16 281 for (i = 0; i < ngroups; i++) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 282 group = (parent_group + i) % ngroups;
ef2fb67989d30f Eric Sandeen 2007-10-16 283 desc = ext2_get_group_desc (sb, group, NULL);
^1da177e4c3f41 Linus Torvalds 2005-04-16 284 if (!desc || !desc->bg_free_inodes_count)
^1da177e4c3f41 Linus Torvalds 2005-04-16 285 continue;
^1da177e4c3f41 Linus Torvalds 2005-04-16 286 if (le16_to_cpu(desc->bg_used_dirs_count) >= best_ndir)
^1da177e4c3f41 Linus Torvalds 2005-04-16 287 continue;
^1da177e4c3f41 Linus Torvalds 2005-04-16 288 if (le16_to_cpu(desc->bg_free_inodes_count) < avefreei)
^1da177e4c3f41 Linus Torvalds 2005-04-16 289 continue;
^1da177e4c3f41 Linus Torvalds 2005-04-16 290 if (le16_to_cpu(desc->bg_free_blocks_count) < avefreeb)
^1da177e4c3f41 Linus Torvalds 2005-04-16 291 continue;
^1da177e4c3f41 Linus Torvalds 2005-04-16 292 best_group = group;
^1da177e4c3f41 Linus Torvalds 2005-04-16 293 best_ndir = le16_to_cpu(desc->bg_used_dirs_count);
^1da177e4c3f41 Linus Torvalds 2005-04-16 294 best_desc = desc;
^1da177e4c3f41 Linus Torvalds 2005-04-16 295 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 296 if (best_group >= 0) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 297 group = best_group;
^1da177e4c3f41 Linus Torvalds 2005-04-16 298 goto found;
^1da177e4c3f41 Linus Torvalds 2005-04-16 299 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 300 goto fallback;
^1da177e4c3f41 Linus Torvalds 2005-04-16 301 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 302
^1da177e4c3f41 Linus Torvalds 2005-04-16 303 if (ndirs == 0)
^1da177e4c3f41 Linus Torvalds 2005-04-16 304 ndirs = 1; /* percpu_counters are approximate... */
^1da177e4c3f41 Linus Torvalds 2005-04-16 305
^1da177e4c3f41 Linus Torvalds 2005-04-16 306 blocks_per_dir = (le32_to_cpu(es->s_blocks_count)-free_blocks) / ndirs;
^1da177e4c3f41 Linus Torvalds 2005-04-16 307
^1da177e4c3f41 Linus Torvalds 2005-04-16 308 max_dirs = ndirs / ngroups + inodes_per_group / 16;
^1da177e4c3f41 Linus Torvalds 2005-04-16 309 min_inodes = avefreei - inodes_per_group / 4;
^1da177e4c3f41 Linus Torvalds 2005-04-16 310 min_blocks = avefreeb - EXT2_BLOCKS_PER_GROUP(sb) / 4;
^1da177e4c3f41 Linus Torvalds 2005-04-16 311
^1da177e4c3f41 Linus Torvalds 2005-04-16 312 max_debt = EXT2_BLOCKS_PER_GROUP(sb) / max(blocks_per_dir, BLOCK_COST);
^1da177e4c3f41 Linus Torvalds 2005-04-16 313 if (max_debt * INODE_COST > inodes_per_group)
^1da177e4c3f41 Linus Torvalds 2005-04-16 314 max_debt = inodes_per_group / INODE_COST;
^1da177e4c3f41 Linus Torvalds 2005-04-16 315 if (max_debt > 255)
^1da177e4c3f41 Linus Torvalds 2005-04-16 316 max_debt = 255;
^1da177e4c3f41 Linus Torvalds 2005-04-16 317 if (max_debt == 0)
^1da177e4c3f41 Linus Torvalds 2005-04-16 318 max_debt = 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 319
^1da177e4c3f41 Linus Torvalds 2005-04-16 320 for (i = 0; i < ngroups; i++) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 321 group = (parent_group + i) % ngroups;
ef2fb67989d30f Eric Sandeen 2007-10-16 322 desc = ext2_get_group_desc (sb, group, NULL);
^1da177e4c3f41 Linus Torvalds 2005-04-16 323 if (!desc || !desc->bg_free_inodes_count)
^1da177e4c3f41 Linus Torvalds 2005-04-16 324 continue;
^1da177e4c3f41 Linus Torvalds 2005-04-16 325 if (sbi->s_debts[group] >= max_debt)
^1da177e4c3f41 Linus Torvalds 2005-04-16 326 continue;
^1da177e4c3f41 Linus Torvalds 2005-04-16 327 if (le16_to_cpu(desc->bg_used_dirs_count) >= max_dirs)
^1da177e4c3f41 Linus Torvalds 2005-04-16 328 continue;
^1da177e4c3f41 Linus Torvalds 2005-04-16 329 if (le16_to_cpu(desc->bg_free_inodes_count) < min_inodes)
^1da177e4c3f41 Linus Torvalds 2005-04-16 330 continue;
^1da177e4c3f41 Linus Torvalds 2005-04-16 331 if (le16_to_cpu(desc->bg_free_blocks_count) < min_blocks)
^1da177e4c3f41 Linus Torvalds 2005-04-16 332 continue;
^1da177e4c3f41 Linus Torvalds 2005-04-16 333 goto found;
^1da177e4c3f41 Linus Torvalds 2005-04-16 334 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 335
^1da177e4c3f41 Linus Torvalds 2005-04-16 336 fallback:
^1da177e4c3f41 Linus Torvalds 2005-04-16 337 for (i = 0; i < ngroups; i++) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 338 group = (parent_group + i) % ngroups;
ef2fb67989d30f Eric Sandeen 2007-10-16 339 desc = ext2_get_group_desc (sb, group, NULL);
^1da177e4c3f41 Linus Torvalds 2005-04-16 340 if (!desc || !desc->bg_free_inodes_count)
^1da177e4c3f41 Linus Torvalds 2005-04-16 341 continue;
^1da177e4c3f41 Linus Torvalds 2005-04-16 342 if (le16_to_cpu(desc->bg_free_inodes_count) >= avefreei)
^1da177e4c3f41 Linus Torvalds 2005-04-16 343 goto found;
^1da177e4c3f41 Linus Torvalds 2005-04-16 344 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 345
^1da177e4c3f41 Linus Torvalds 2005-04-16 346 if (avefreei) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 347 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 348 * The free-inodes counter is approximate, and for really small
^1da177e4c3f41 Linus Torvalds 2005-04-16 349 * filesystems the above test can fail to find any blockgroups
^1da177e4c3f41 Linus Torvalds 2005-04-16 350 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 351 avefreei = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 352 goto fallback;
^1da177e4c3f41 Linus Torvalds 2005-04-16 353 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 354
^1da177e4c3f41 Linus Torvalds 2005-04-16 355 return -1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 356
^1da177e4c3f41 Linus Torvalds 2005-04-16 357 found:
^1da177e4c3f41 Linus Torvalds 2005-04-16 358 return group;
^1da177e4c3f41 Linus Torvalds 2005-04-16 359 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 360
diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c index a4e1d7a9c544..f50beb77d6ba 100644 --- a/fs/ext2/ialloc.c +++ b/fs/ext2/ialloc.c @@ -294,7 +294,6 @@ static int find_group_orlov(struct super_block *sb, struct inode *parent) best_desc = desc; } if (best_group >= 0) { - desc = best_desc; group = best_group; goto found; }
Variable desc is being assigned a value that is never read, the exit via label found immeditely returns with no access to desc. The assignment is redundant and can be removed. Cleans up clang scan muild warning: fs/ext2/ialloc.c:297:4: warning: Value stored to 'desc' is never read [deadcode.DeadStores] Signed-off-by: Colin Ian King <colin.i.king@gmail.com> --- fs/ext2/ialloc.c | 1 - 1 file changed, 1 deletion(-)