[dm-devel] [dm:dm-5.8 47/54] drivers/md/dm-zoned-reclaim.c:350:18: warning: variable 'dev' set but not used

Damien Le Moal Damien.LeMoal at wdc.com
Tue May 19 03:24:44 UTC 2020


On 2020/05/19 12:18, kbuild test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git dm-5.8
> head:   44eaf01834bc7414ab5298d097ed4e142a714420
> commit: 21a33c39f41e5fc4e9ecfdf958190c9dc4a86b94 [47/54] dm zoned: remove 'dev' argument from reclaim
> config: parisc-randconfig-r024-20200519 (attached as .config)
> compiler: hppa-linux-gcc (GCC) 9.3.0
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         git checkout 21a33c39f41e5fc4e9ecfdf958190c9dc4a86b94
>         # save the attached .config to linux build tree
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc 
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kbuild test robot <lkp at intel.com>
> 
> All warnings (new ones prefixed by >>, old ones prefixed by <<):
> 
> In file included from include/linux/mm.h:94,
> from include/linux/bvec.h:13,
> from include/linux/blk_types.h:10,
> from include/linux/genhd.h:19,
> from include/linux/blkdev.h:11,
> from drivers/md/dm-zoned.h:12,
> from drivers/md/dm-zoned-reclaim.c:8:
> include/asm-generic/pgtable.h: In function 'pte_clear_not_present_full':
> arch/parisc/include/asm/pgtable.h:96:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
> 96 |   pte_t old_pte;              |         ^~~~~~~
> arch/parisc/include/asm/pgtable.h:322:34: note: in expansion of macro 'set_pte_at'
> 322 | #define pte_clear(mm, addr, xp)  set_pte_at(mm, addr, xp, __pte(0))
> |                                  ^~~~~~~~~~
> include/asm-generic/pgtable.h:201:2: note: in expansion of macro 'pte_clear'
> 201 |  pte_clear(mm, address, ptep);
> |  ^~~~~~~~~
> include/asm-generic/pgtable.h: In function '__ptep_modify_prot_commit':
> arch/parisc/include/asm/pgtable.h:96:9: warning: variable 'old_pte' set but not used [-Wunused-but-set-variable]
> 96 |   pte_t old_pte;              |         ^~~~~~~
> include/asm-generic/pgtable.h:640:2: note: in expansion of macro 'set_pte_at'
> 640 |  set_pte_at(vma->vm_mm, addr, ptep, pte);
> |  ^~~~~~~~~~
> drivers/md/dm-zoned-reclaim.c: In function 'dmz_do_reclaim':
>>> drivers/md/dm-zoned-reclaim.c:350:18: warning: variable 'dev' set but not used [-Wunused-but-set-variable]
> 350 |  struct dmz_dev *dev;
> |                  ^~~

It is indeed unused. I wonder why gcc 10 did not complain for me...

Hannes, can you add a patch fixing that when you resend the cache-zone series ?

> 
> vim +/dev +350 drivers/md/dm-zoned-reclaim.c
> 
>    341	
>    342	/*
>    343	 * Find a candidate zone for reclaim and process it.
>    344	 */
>    345	static int dmz_do_reclaim(struct dmz_reclaim *zrc)
>    346	{
>    347		struct dmz_metadata *zmd = zrc->metadata;
>    348		struct dm_zone *dzone;
>    349		struct dm_zone *rzone;
>  > 350		struct dmz_dev *dev;
>    351		unsigned long start;
>    352		int ret;
>    353	
>    354		/* Get a data zone */
>    355		dzone = dmz_get_zone_for_reclaim(zmd);
>    356		if (IS_ERR(dzone))
>    357			return PTR_ERR(dzone);
>    358	
>    359		start = jiffies;
>    360		dev = dmz_zone_to_dev(zmd, dzone);
>    361		if (dmz_is_rnd(dzone)) {
>    362			if (!dmz_weight(dzone)) {
>    363				/* Empty zone */
>    364				dmz_reclaim_empty(zrc, dzone);
>    365				ret = 0;
>    366			} else {
>    367				/*
>    368				 * Reclaim the random data zone by moving its
>    369				 * valid data blocks to a free sequential zone.
>    370				 */
>    371				ret = dmz_reclaim_rnd_data(zrc, dzone);
>    372			}
>    373			rzone = dzone;
>    374	
>    375		} else {
>    376			struct dm_zone *bzone = dzone->bzone;
>    377			sector_t chunk_block = 0;
>    378	
>    379			ret = dmz_first_valid_block(zmd, bzone, &chunk_block);
>    380			if (ret < 0)
>    381				goto out;
>    382	
>    383			if (ret == 0 || chunk_block >= dzone->wp_block) {
>    384				/*
>    385				 * The buffer zone is empty or its valid blocks are
>    386				 * after the data zone write pointer.
>    387				 */
>    388				ret = dmz_reclaim_buf(zrc, dzone);
>    389				rzone = bzone;
>    390			} else {
>    391				/*
>    392				 * Reclaim the data zone by merging it into the
>    393				 * buffer zone so that the buffer zone itself can
>    394				 * be later reclaimed.
>    395				 */
>    396				ret = dmz_reclaim_seq_data(zrc, dzone);
>    397				rzone = dzone;
>    398			}
>    399		}
>    400	out:
>    401		if (ret) {
>    402			dmz_unlock_zone_reclaim(dzone);
>    403			return ret;
>    404		}
>    405	
>    406		ret = dmz_flush_metadata(zrc->metadata);
>    407		if (ret) {
>    408			DMDEBUG("(%s): Metadata flush for zone %u failed, err %d\n",
>    409				dmz_metadata_label(zmd), rzone->id, ret);
>    410			return ret;
>    411		}
>    412	
>    413		DMDEBUG("(%s): Reclaimed zone %u in %u ms",
>    414			dmz_metadata_label(zmd),
>    415			rzone->id, jiffies_to_msecs(jiffies - start));
>    416		return 0;
>    417	}
>    418	
> 
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
> 


-- 
Damien Le Moal
Western Digital Research






More information about the dm-devel mailing list