[dm-devel] [dm:dm-5.8 50/54] drivers/md/dm-zoned-metadata.c:2468:6: warning: no previous prototype for 'dmz_print_dev'

kbuild test robot lkp at intel.com
Tue May 19 04:23:13 UTC 2020


tree:   https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git dm-5.8
head:   44eaf01834bc7414ab5298d097ed4e142a714420
commit: 4813c868bef0182b7ca7662f967b1c4bfdff1c1e [50/54] dm zoned: add metadata logging functions
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 4813c868bef0182b7ca7662f967b1c4bfdff1c1e
        # 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-metadata.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-metadata.c: At top level:
>> drivers/md/dm-zoned-metadata.c:2468:6: warning: no previous prototype for 'dmz_print_dev' [-Wmissing-prototypes]
2468 | void dmz_print_dev(struct dmz_metadata *zmd, int num)
|      ^~~~~~~~~~~~~

vim +/dmz_print_dev +2468 drivers/md/dm-zoned-metadata.c

  2467	
> 2468	void dmz_print_dev(struct dmz_metadata *zmd, int num)
  2469	{
  2470		struct dmz_dev *dev = &zmd->dev[num];
  2471	
  2472		dmz_dev_info(dev, "Host-%s zoned block device",
  2473			     bdev_zoned_model(dev->bdev) == BLK_ZONED_HA ?
  2474			     "aware" : "managed");
  2475		dmz_dev_info(dev, "  %llu 512-byte logical sectors",
  2476			     (u64)dev->capacity);
  2477		dmz_dev_info(dev, "  %u zones of %llu 512-byte logical sectors",
  2478			     dev->nr_zones, (u64)zmd->zone_nr_sectors);
  2479	}
  2480	/*
  2481	 * Initialize the zoned metadata.
  2482	 */
  2483	int dmz_ctr_metadata(struct dmz_dev *dev, struct dmz_metadata **metadata,
  2484			     const char *devname)
  2485	{
  2486		struct dmz_metadata *zmd;
  2487		unsigned int i;
  2488		struct dm_zone *zone;
  2489		int ret;
  2490	
  2491		zmd = kzalloc(sizeof(struct dmz_metadata), GFP_KERNEL);
  2492		if (!zmd)
  2493			return -ENOMEM;
  2494	
  2495		strcpy(zmd->devname, devname);
  2496		zmd->dev = dev;
  2497		zmd->mblk_rbtree = RB_ROOT;
  2498		init_rwsem(&zmd->mblk_sem);
  2499		mutex_init(&zmd->mblk_flush_lock);
  2500		spin_lock_init(&zmd->mblk_lock);
  2501		INIT_LIST_HEAD(&zmd->mblk_lru_list);
  2502		INIT_LIST_HEAD(&zmd->mblk_dirty_list);
  2503	
  2504		mutex_init(&zmd->map_lock);
  2505		atomic_set(&zmd->unmap_nr_rnd, 0);
  2506		INIT_LIST_HEAD(&zmd->unmap_rnd_list);
  2507		INIT_LIST_HEAD(&zmd->map_rnd_list);
  2508	
  2509		atomic_set(&zmd->unmap_nr_seq, 0);
  2510		INIT_LIST_HEAD(&zmd->unmap_seq_list);
  2511		INIT_LIST_HEAD(&zmd->map_seq_list);
  2512	
  2513		atomic_set(&zmd->nr_reserved_seq_zones, 0);
  2514		INIT_LIST_HEAD(&zmd->reserved_seq_zones_list);
  2515	
  2516		init_waitqueue_head(&zmd->free_wq);
  2517	
  2518		/* Initialize zone descriptors */
  2519		ret = dmz_init_zones(zmd);
  2520		if (ret)
  2521			goto err;
  2522	
  2523		/* Get super block */
  2524		ret = dmz_load_sb(zmd);
  2525		if (ret)
  2526			goto err;
  2527	
  2528		/* Set metadata zones starting from sb_zone */
  2529		for (i = 0; i < zmd->nr_meta_zones << 1; i++) {
  2530			zone = dmz_get(zmd, zmd->sb[0].zone->id + i);
  2531			if (!dmz_is_rnd(zone))
  2532				goto err;
  2533			set_bit(DMZ_META, &zone->flags);
  2534		}
  2535	
  2536		/* Load mapping table */
  2537		ret = dmz_load_mapping(zmd);
  2538		if (ret)
  2539			goto err;
  2540	
  2541		/*
  2542		 * Cache size boundaries: allow at least 2 super blocks, the chunk map
  2543		 * blocks and enough blocks to be able to cache the bitmap blocks of
  2544		 * up to 16 zones when idle (min_nr_mblks). Otherwise, if busy, allow
  2545		 * the cache to add 512 more metadata blocks.
  2546		 */
  2547		zmd->min_nr_mblks = 2 + zmd->nr_map_blocks + zmd->zone_nr_bitmap_blocks * 16;
  2548		zmd->max_nr_mblks = zmd->min_nr_mblks + 512;
  2549		zmd->mblk_shrinker.count_objects = dmz_mblock_shrinker_count;
  2550		zmd->mblk_shrinker.scan_objects = dmz_mblock_shrinker_scan;
  2551		zmd->mblk_shrinker.seeks = DEFAULT_SEEKS;
  2552	
  2553		/* Metadata cache shrinker */
  2554		ret = register_shrinker(&zmd->mblk_shrinker);
  2555		if (ret) {
  2556			dmz_zmd_err(zmd, "Register metadata cache shrinker failed");
  2557			goto err;
  2558		}
  2559	
  2560		dmz_zmd_info(zmd, "DM-Zoned metadata version %d", DMZ_META_VER);
  2561		dmz_print_dev(zmd, 0);
  2562	
  2563		dmz_zmd_info(zmd, "  %u zones of %llu 512-byte logical sectors",
  2564			     zmd->nr_zones, (u64)zmd->zone_nr_sectors);
  2565		dmz_zmd_info(zmd, "  %u metadata zones",
  2566			     zmd->nr_meta_zones * 2);
  2567		dmz_zmd_info(zmd, "  %u data zones for %u chunks",
  2568			     zmd->nr_data_zones, zmd->nr_chunks);
  2569		dmz_zmd_info(zmd, "    %u random zones (%u unmapped)",
  2570			     zmd->nr_rnd, atomic_read(&zmd->unmap_nr_rnd));
  2571		dmz_zmd_info(zmd, "    %u sequential zones (%u unmapped)",
  2572			     zmd->nr_seq, atomic_read(&zmd->unmap_nr_seq));
  2573		dmz_zmd_info(zmd, "  %u reserved sequential data zones",
  2574			     zmd->nr_reserved_seq);
  2575		dmz_zmd_debug(zmd, "Format:");
  2576		dmz_zmd_debug(zmd, "%u metadata blocks per set (%u max cache)",
  2577			      zmd->nr_meta_blocks, zmd->max_nr_mblks);
  2578		dmz_zmd_debug(zmd, "  %u data zone mapping blocks",
  2579			      zmd->nr_map_blocks);
  2580		dmz_zmd_debug(zmd, "  %u bitmap blocks",
  2581			      zmd->nr_bitmap_blocks);
  2582	
  2583		*metadata = zmd;
  2584	
  2585		return 0;
  2586	err:
  2587		dmz_cleanup_metadata(zmd);
  2588		kfree(zmd);
  2589		*metadata = NULL;
  2590	
  2591		return ret;
  2592	}
  2593	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 29114 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20200519/9c29572f/attachment.gz>


More information about the dm-devel mailing list