[linux-nvme:nvme-5.18 6/6] drivers/nvme/host/nvme.h:858: multiple definition of `nvme_mpath_update'; drivers/nvme/host/core.o:drivers/nvme/host/nvme.h:858: first defined here

kernel test robot lkp at intel.com
Wed Mar 23 16:49:26 PDT 2022


tree:   git://git.infradead.org/nvme.git nvme-5.18
head:   d50c992edf10b95d2034097405c94fecfbe1ef7f
commit: d50c992edf10b95d2034097405c94fecfbe1ef7f [6/6] nvme-multipath: fix hang when disk goes live over reconnect
config: i386-randconfig-a003 (https://download.01.org/0day-ci/archive/20220324/202203240715.lM0ACDqk-lkp@intel.com/config)
compiler: gcc-9 (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0
reproduce (this is a W=1 build):
        git remote add linux-nvme git://git.infradead.org/nvme.git
        git fetch --no-tags linux-nvme nvme-5.18
        git checkout d50c992edf10b95d2034097405c94fecfbe1ef7f
        # save the config file to linux build tree
        mkdir build_dir
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>

All error/warnings (new ones prefixed by >>):

   ld: drivers/nvme/host/ioctl.o: in function `nvme_mpath_update':
>> drivers/nvme/host/nvme.h:858: multiple definition of `nvme_mpath_update'; drivers/nvme/host/core.o:drivers/nvme/host/nvme.h:858: first defined here
   ld: drivers/nvme/host/constants.o: in function `nvme_mpath_update':
>> drivers/nvme/host/nvme.h:858: multiple definition of `nvme_mpath_update'; drivers/nvme/host/core.o:drivers/nvme/host/nvme.h:858: first defined here
   ld: drivers/nvme/host/trace.o: in function `nvme_mpath_update':
>> drivers/nvme/host/nvme.h:858: multiple definition of `nvme_mpath_update'; drivers/nvme/host/core.o:drivers/nvme/host/nvme.h:858: first defined here
   ld: drivers/nvme/host/fault_inject.o: in function `nvme_mpath_update':
>> drivers/nvme/host/nvme.h:858: multiple definition of `nvme_mpath_update'; drivers/nvme/host/core.o:drivers/nvme/host/nvme.h:858: first defined here
--
   In file included from drivers/nvme/host/core.c:25:
>> drivers/nvme/host/nvme.h:856:6: warning: no previous prototype for 'nvme_mpath_update' [-Wmissing-prototypes]
     856 | void nvme_mpath_update(struct nvme_ctrl *ctrl)
         |      ^~~~~~~~~~~~~~~~~
--
   In file included from drivers/nvme/target/loop.c:13:
>> drivers/nvme/target/../host/nvme.h:856:6: warning: no previous prototype for 'nvme_mpath_update' [-Wmissing-prototypes]
     856 | void nvme_mpath_update(struct nvme_ctrl *ctrl)
         |      ^~~~~~~~~~~~~~~~~


vim +858 drivers/nvme/host/nvme.h

   804	
   805	#else
   806	#define multipath false
   807	static inline bool nvme_ctrl_use_ana(struct nvme_ctrl *ctrl)
   808	{
   809		return false;
   810	}
   811	static inline void nvme_failover_req(struct request *req)
   812	{
   813	}
   814	static inline void nvme_kick_requeue_lists(struct nvme_ctrl *ctrl)
   815	{
   816	}
   817	static inline int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl,
   818			struct nvme_ns_head *head)
   819	{
   820		return 0;
   821	}
   822	static inline void nvme_mpath_add_disk(struct nvme_ns *ns,
   823			struct nvme_id_ns *id)
   824	{
   825	}
   826	static inline void nvme_mpath_remove_disk(struct nvme_ns_head *head)
   827	{
   828	}
   829	static inline bool nvme_mpath_clear_current_path(struct nvme_ns *ns)
   830	{
   831		return false;
   832	}
   833	static inline void nvme_mpath_revalidate_paths(struct nvme_ns *ns)
   834	{
   835	}
   836	static inline void nvme_mpath_clear_ctrl_paths(struct nvme_ctrl *ctrl)
   837	{
   838	}
   839	static inline void nvme_mpath_shutdown_disk(struct nvme_ns_head *head)
   840	{
   841	}
   842	static inline void nvme_trace_bio_complete(struct request *req)
   843	{
   844	}
   845	static inline void nvme_mpath_init_ctrl(struct nvme_ctrl *ctrl)
   846	{
   847	}
   848	static inline int nvme_mpath_init_identify(struct nvme_ctrl *ctrl,
   849			struct nvme_id_ctrl *id)
   850	{
   851		if (ctrl->subsys->cmic & NVME_CTRL_CMIC_ANA)
   852			dev_warn(ctrl->device,
   853	"Please enable CONFIG_NVME_MULTIPATH for full support of multi-port devices.\n");
   854		return 0;
   855	}
 > 856	void nvme_mpath_update(struct nvme_ctrl *ctrl)
   857	{
 > 858	}
   859	static inline void nvme_mpath_uninit(struct nvme_ctrl *ctrl)
   860	{
   861	}
   862	static inline void nvme_mpath_stop(struct nvme_ctrl *ctrl)
   863	{
   864	}
   865	static inline void nvme_mpath_unfreeze(struct nvme_subsystem *subsys)
   866	{
   867	}
   868	static inline void nvme_mpath_wait_freeze(struct nvme_subsystem *subsys)
   869	{
   870	}
   871	static inline void nvme_mpath_start_freeze(struct nvme_subsystem *subsys)
   872	{
   873	}
   874	static inline void nvme_mpath_default_iopolicy(struct nvme_subsystem *subsys)
   875	{
   876	}
   877	#endif /* CONFIG_NVME_MULTIPATH */
   878	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp



More information about the Linux-nvme mailing list