[target:nvmet-configfs-ng 30/35] drivers/nvme/target/configfs-ng.c:253:18: error: 'struct nvmet_port' has no member named 'port_binding_mutex'; did you mean 'port_binding_list'?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git nvmet-configfs-ng
head:   b75ad796462431e38bba0fb04d277fd83c919575
commit: b57da10630e0fb2243e901f2df910c5c980e922e [30/35] nvmet/configfs-ng: Introduce struct nvmet_port_binding
config: i386-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430
reproduce:
        git checkout b57da10630e0fb2243e901f2df910c5c980e922e
        # save the attached .config to linux build tree
        make ARCH=i386 

Note: the target/nvmet-configfs-ng HEAD b75ad796462431e38bba0fb04d277fd83c919575 builds fine.
      It only hurts bisectibility.

All errors (new ones prefixed by >>):

   In file included from include/linux/notifier.h:13:0,
                    from include/linux/memory_hotplug.h:6,
                    from include/linux/mmzone.h:737,
                    from include/linux/gfp.h:5,
                    from include/linux/kmod.h:22,
                    from include/linux/module.h:13,
                    from drivers/nvme/target/configfs-ng.c:5:
   drivers/nvme/target/configfs-ng.c: In function 'nvmet_port_disable':
>> drivers/nvme/target/configfs-ng.c:253:18: error: 'struct nvmet_port' has no member named 'port_binding_mutex'; did you mean 'port_binding_list'?
     mutex_lock(&port->port_binding_mutex);
                     ^
   include/linux/mutex.h:146:44: note: in definition of macro 'mutex_lock'
    #define mutex_lock(lock) mutex_lock_nested(lock, 0)
                                               ^~~~
>> drivers/nvme/target/configfs-ng.c:255:19: error: 'struct nvmet_port_binding' has no member named 'subsys_node'
     list_del_init(&pb->subsys_node);
                      ^~
   drivers/nvme/target/configfs-ng.c:256:20: error: 'struct nvmet_port' has no member named 'port_binding_mutex'; did you mean 'port_binding_list'?
     mutex_unlock(&port->port_binding_mutex);
                       ^~
>> drivers/nvme/target/configfs-ng.c:262:19: error: passing argument 1 of 'ops->remove_port' from incompatible pointer type [-Werror=incompatible-pointer-types]
     ops->remove_port(pb);
                      ^~
   drivers/nvme/target/configfs-ng.c:262:19: note: expected 'struct nvmet_port *' but argument is of type 'struct nvmet_port_binding *'
   drivers/nvme/target/configfs-ng.c: In function 'nvmet_port_enable_store':
>> drivers/nvme/target/configfs-ng.c:302:22: error: passing argument 1 of 'ops->add_port' from incompatible pointer type [-Werror=incompatible-pointer-types]
      rc = ops->add_port(pb);
                         ^~
   drivers/nvme/target/configfs-ng.c:302:22: note: expected 'struct nvmet_port *' but argument is of type 'struct nvmet_port_binding *'
   In file included from include/linux/notifier.h:13:0,
                    from include/linux/memory_hotplug.h:6,
                    from include/linux/mmzone.h:737,
                    from include/linux/gfp.h:5,
                    from include/linux/kmod.h:22,
                    from include/linux/module.h:13,
                    from drivers/nvme/target/configfs-ng.c:5:
   drivers/nvme/target/configfs-ng.c:309:19: error: 'struct nvmet_port' has no member named 'port_binding_mutex'; did you mean 'port_binding_list'?
      mutex_lock(&port->port_binding_mutex);
                      ^
   include/linux/mutex.h:146:44: note: in definition of macro 'mutex_lock'
    #define mutex_lock(lock) mutex_lock_nested(lock, 0)
                                               ^~~~
   drivers/nvme/target/configfs-ng.c:311:20: error: 'struct nvmet_port_binding' has no member named 'subsys_node'
      list_add_tail(&pb->subsys_node, &port->port_binding_list);
                       ^~
   drivers/nvme/target/configfs-ng.c:312:21: error: 'struct nvmet_port' has no member named 'port_binding_mutex'; did you mean 'port_binding_list'?
      mutex_unlock(&port->port_binding_mutex);
                        ^~
   cc1: some warnings being treated as errors

vim +253 drivers/nvme/target/configfs-ng.c

   247		struct nvmet_subsys *subsys = pb->nf_subsys;
   248		struct nvmet_port *port = pb->port;
   249	
   250		if (!ops || !port)
   251			return;
   252	
 > 253		mutex_lock(&port->port_binding_mutex);
   254		pb->enabled = false;
 > 255		list_del_init(&pb->subsys_node);
 > 256		mutex_unlock(&port->port_binding_mutex);
   257	
   258		mutex_lock(&subsys->pb_list_mutex);
   259		list_del_init(&pb->node);
   260		mutex_unlock(&subsys->pb_list_mutex);
   261	
 > 262		ops->remove_port(pb);
   263		nvmet_put_transport(&pb->disc_addr);
   264		pb->nf_ops = NULL;
   265	}
   266	
   267	static ssize_t nvmet_port_enable_show(struct config_item *item, char *page)
   268	{
   269		struct nvmet_port_binding *pb = to_nvmet_port_binding(item);
   270	
   271		return sprintf(page, "%d\n", pb->enabled);
   272	}
   273	
   274	static ssize_t nvmet_port_enable_store(struct config_item *item,
   275			const char *page, size_t count)
   276	{
   277		struct nvmet_port *port;
   278		struct nvmet_port_binding *pb = to_nvmet_port_binding(item);
   279		struct nvmet_subsys *subsys = pb->nf_subsys;
   280		struct nvmet_fabrics_ops *ops;
   281		bool enable;
   282		int rc;
   283	
   284		printk("Entering port enable %d\n", pb->disc_addr.trtype);
   285	
   286		if (strtobool(page, &enable))
   287			return -EINVAL;
   288	
   289		if (enable) {
   290			if (pb->enabled) {
   291				pr_warn("port already enabled: %d\n",
   292					pb->disc_addr.trtype);
   293				goto out;
   294			}
   295	
   296			ops = nvmet_get_transport(&pb->disc_addr);
   297			if (IS_ERR(ops))
   298				return PTR_ERR(ops);
   299	
   300			pb->nf_ops = ops;
   301	
 > 302			rc = ops->add_port(pb);
   303			if (rc) {
   304				nvmet_put_transport(&pb->disc_addr);
   305				return rc;

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: Binary data


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux