[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'

[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: openrisc-allmodconfig (attached as .config)
compiler: or32-linux-gcc (GCC) 4.5.1-or32-1.0rc1
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout b57da10630e0fb2243e901f2df910c5c980e922e
        # save the attached .config to linux build tree
        make.cross ARCH=openrisc 

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

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

   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'
   drivers/nvme/target/configfs-ng.c:255:19: error: 'struct nvmet_port_binding' has no member named 'subsys_node'
   drivers/nvme/target/configfs-ng.c:256:20: error: 'struct nvmet_port' has no member named 'port_binding_mutex'
>> drivers/nvme/target/configfs-ng.c:262:2: warning: passing argument 1 of 'ops->remove_port' from incompatible pointer type
   drivers/nvme/target/configfs-ng.c:262:2: 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:3: warning: passing argument 1 of 'ops->add_port' from incompatible pointer type
   drivers/nvme/target/configfs-ng.c:302:3: note: expected 'struct nvmet_port *' but argument is of type 'struct nvmet_port_binding *'
   drivers/nvme/target/configfs-ng.c:309:19: error: 'struct nvmet_port' has no member named 'port_binding_mutex'
   drivers/nvme/target/configfs-ng.c:311:20: error: 'struct nvmet_port_binding' has no member named 'subsys_node'
   drivers/nvme/target/configfs-ng.c:312:21: error: 'struct nvmet_port' has no member named 'port_binding_mutex'

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