diff mbox

[2/7] scsi/scsi_transport_iscsi: Update ep_connect to include iface.

Message ID 20170606180717.5007-3-robert@leblancnet.us (mailing list archive)
State Not Applicable
Headers show

Commit Message

Robert LeBlanc June 6, 2017, 6:07 p.m. UTC
Update the ep_connect function to include the iface in the parameters
passed to the driver. Since we have to make a change, also change the
dst_addr to sockaddr_storage so that it is future proof and a static
size.

Signed-off-by: Robert LeBlanc <robert@leblancnet.us>
---
 drivers/scsi/scsi_transport_iscsi.c | 9 ++++++---
 include/scsi/scsi_transport_iscsi.h | 5 +++--
 2 files changed, 9 insertions(+), 5 deletions(-)

Comments

kernel test robot June 8, 2017, 12:24 p.m. UTC | #1
Hi Robert,

[auto build test ERROR on mkp-scsi/for-next]
[also build test ERROR on v4.12-rc4 next-20170608]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Robert-LeBlanc/Enable-iSCSI-offload-drivers-to-use-information-from-iface/20170607-211934
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
config: x86_64-kexec (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

Note: the linux-review/Robert-LeBlanc/Enable-iSCSI-offload-drivers-to-use-information-from-iface/20170607-211934 HEAD 9d84638ec1dd56cf18d796045165770d741fe422 builds fine.
      It only hurts bisectibility.

All errors (new ones prefixed by >>):

>> drivers/scsi/qla4xxx/ql4_os.c:236:17: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
     .ep_connect  = qla4xxx_ep_connect,
                    ^~~~~~~~~~~~~~~~~~
   drivers/scsi/qla4xxx/ql4_os.c:236:17: note: (near initialization for 'qla4xxx_iscsi_transport.ep_connect')
   cc1: some warnings being treated as errors

vim +236 drivers/scsi/qla4xxx/ql4_os.c

b3a271a9 Manish Rangankar 2011-07-25  220  	.caps			= CAP_TEXT_NEGO |
b3a271a9 Manish Rangankar 2011-07-25  221  				  CAP_DATA_PATH_OFFLOAD | CAP_HDRDGST |
b3a271a9 Manish Rangankar 2011-07-25  222  				  CAP_DATADGST | CAP_LOGIN_OFFLOAD |
b3a271a9 Manish Rangankar 2011-07-25  223  				  CAP_MULTI_R2T,
5e9bcec7 Vikas Chaudhary  2012-08-22  224  	.attr_is_visible	= qla4_attr_is_visible,
b3a271a9 Manish Rangankar 2011-07-25  225  	.create_session         = qla4xxx_session_create,
b3a271a9 Manish Rangankar 2011-07-25  226  	.destroy_session        = qla4xxx_session_destroy,
b3a271a9 Manish Rangankar 2011-07-25  227  	.start_conn             = qla4xxx_conn_start,
b3a271a9 Manish Rangankar 2011-07-25  228  	.create_conn            = qla4xxx_conn_create,
b3a271a9 Manish Rangankar 2011-07-25  229  	.bind_conn              = qla4xxx_conn_bind,
b3a271a9 Manish Rangankar 2011-07-25  230  	.stop_conn              = iscsi_conn_stop,
b3a271a9 Manish Rangankar 2011-07-25  231  	.destroy_conn           = qla4xxx_conn_destroy,
b3a271a9 Manish Rangankar 2011-07-25  232  	.set_param              = iscsi_set_param,
afaf5a2d David Somayajulu 2006-09-19  233  	.get_conn_param		= qla4xxx_conn_get_param,
fca9f04d Mike Christie    2012-02-27  234  	.get_session_param	= qla4xxx_session_get_param,
b3a271a9 Manish Rangankar 2011-07-25  235  	.get_ep_param           = qla4xxx_get_ep_param,
b3a271a9 Manish Rangankar 2011-07-25 @236  	.ep_connect		= qla4xxx_ep_connect,
b3a271a9 Manish Rangankar 2011-07-25  237  	.ep_poll		= qla4xxx_ep_poll,
b3a271a9 Manish Rangankar 2011-07-25  238  	.ep_disconnect		= qla4xxx_ep_disconnect,
b3a271a9 Manish Rangankar 2011-07-25  239  	.get_stats		= qla4xxx_conn_get_stats,
b3a271a9 Manish Rangankar 2011-07-25  240  	.send_pdu		= iscsi_conn_send_pdu,
b3a271a9 Manish Rangankar 2011-07-25  241  	.xmit_task		= qla4xxx_task_xmit,
b3a271a9 Manish Rangankar 2011-07-25  242  	.cleanup_task		= qla4xxx_task_cleanup,
b3a271a9 Manish Rangankar 2011-07-25  243  	.alloc_pdu		= qla4xxx_alloc_pdu,
b3a271a9 Manish Rangankar 2011-07-25  244  

:::::: The code at line 236 was first introduced by commit
:::::: b3a271a94d0034dd3bab10b8d8cd432843be629e [SCSI] qla4xxx: support iscsiadm session mgmt

:::::: TO: Manish Rangankar <manish.rangankar@qlogic.com>
:::::: CC: James Bottomley <JBottomley@Parallels.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
kernel test robot June 8, 2017, 12:53 p.m. UTC | #2
Hi Robert,

[auto build test ERROR on mkp-scsi/for-next]
[also build test ERROR on v4.12-rc4 next-20170608]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Robert-LeBlanc/Enable-iSCSI-offload-drivers-to-use-information-from-iface/20170607-211934
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 6.2.0
reproduce:
        wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=ia64 

All errors (new ones prefixed by >>):

>> drivers/scsi//qedi/qedi_iscsi.c:1402:16: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
     .ep_connect = qedi_ep_connect,
                   ^~~~~~~~~~~~~~~
   drivers/scsi//qedi/qedi_iscsi.c:1402:16: note: (near initialization for 'qedi_iscsi_transport.ep_connect')
   cc1: some warnings being treated as errors

vim +1402 drivers/scsi//qedi/qedi_iscsi.c

ace7f46b Manish Rangankar 2016-12-01  1386  	.destroy_session = qedi_session_destroy,
ace7f46b Manish Rangankar 2016-12-01  1387  	.create_conn = qedi_conn_create,
ace7f46b Manish Rangankar 2016-12-01  1388  	.bind_conn = qedi_conn_bind,
ace7f46b Manish Rangankar 2016-12-01  1389  	.start_conn = qedi_conn_start,
ace7f46b Manish Rangankar 2016-12-01  1390  	.stop_conn = iscsi_conn_stop,
ace7f46b Manish Rangankar 2016-12-01  1391  	.destroy_conn = qedi_conn_destroy,
ace7f46b Manish Rangankar 2016-12-01  1392  	.set_param = iscsi_set_param,
ace7f46b Manish Rangankar 2016-12-01  1393  	.get_ep_param = qedi_ep_get_param,
ace7f46b Manish Rangankar 2016-12-01  1394  	.get_conn_param = iscsi_conn_get_param,
ace7f46b Manish Rangankar 2016-12-01  1395  	.get_session_param = iscsi_session_get_param,
ace7f46b Manish Rangankar 2016-12-01  1396  	.get_host_param = qedi_host_get_param,
ace7f46b Manish Rangankar 2016-12-01  1397  	.send_pdu = iscsi_conn_send_pdu,
ace7f46b Manish Rangankar 2016-12-01  1398  	.get_stats = qedi_conn_get_stats,
ace7f46b Manish Rangankar 2016-12-01  1399  	.xmit_task = qedi_task_xmit,
ace7f46b Manish Rangankar 2016-12-01  1400  	.cleanup_task = qedi_cleanup_task,
ace7f46b Manish Rangankar 2016-12-01  1401  	.session_recovery_timedout = iscsi_session_recovery_timedout,
ace7f46b Manish Rangankar 2016-12-01 @1402  	.ep_connect = qedi_ep_connect,
ace7f46b Manish Rangankar 2016-12-01  1403  	.ep_poll = qedi_ep_poll,
ace7f46b Manish Rangankar 2016-12-01  1404  	.ep_disconnect = qedi_ep_disconnect,
ace7f46b Manish Rangankar 2016-12-01  1405  	.set_path = qedi_set_path,
ace7f46b Manish Rangankar 2016-12-01  1406  	.attr_is_visible = qedi_attr_is_visible,
ace7f46b Manish Rangankar 2016-12-01  1407  };
ace7f46b Manish Rangankar 2016-12-01  1408  
ace7f46b Manish Rangankar 2016-12-01  1409  void qedi_start_conn_recovery(struct qedi_ctx *qedi,
ace7f46b Manish Rangankar 2016-12-01  1410  			      struct qedi_conn *qedi_conn)

:::::: The code at line 1402 was first introduced by commit
:::::: ace7f46ba5fde7273207c7122b0650ceb72510e0 scsi: qedi: Add QLogic FastLinQ offload iSCSI driver framework.

:::::: TO: Manish Rangankar <manish.rangankar@cavium.com>
:::::: CC: Martin K. Petersen <martin.petersen@oracle.com>

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

Patch

diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c
index a424eaeafeb0..64157a1d62e6 100644
--- a/drivers/scsi/scsi_transport_iscsi.c
+++ b/drivers/scsi/scsi_transport_iscsi.c
@@ -34,6 +34,7 @@ 
 #include <scsi/iscsi_if.h>
 #include <scsi/scsi_cmnd.h>
 #include <scsi/scsi_bsg_iscsi.h>
+#include <linux/inet.h>
 
 #define ISCSI_TRANSPORT_VERSION "2.0-870"
 
@@ -2794,7 +2795,8 @@  static int iscsi_if_ep_connect(struct iscsi_transport *transport,
 			       struct iscsi_uevent *ev, int msg_type)
 {
 	struct iscsi_endpoint *ep;
-	struct sockaddr *dst_addr;
+	struct sockaddr_storage *dst_addr;
+	struct iface_rec *iface;
 	struct Scsi_Host *shost = NULL;
 	int non_blocking, err = 0;
 
@@ -2813,8 +2815,9 @@  static int iscsi_if_ep_connect(struct iscsi_transport *transport,
 	} else
 		non_blocking = ev->u.ep_connect.non_blocking;
 
-	dst_addr = (struct sockaddr *)((char*)ev + sizeof(*ev));
-	ep = transport->ep_connect(shost, dst_addr, non_blocking);
+	dst_addr = (struct sockaddr_storage *)((char*)ev + sizeof(*ev));
+	iface = (struct iface_rec *)((char*)ev + sizeof(*ev) + sizeof(*dst_addr));
+	ep = transport->ep_connect(shost, dst_addr, non_blocking, iface);
 	if (IS_ERR(ep)) {
 		err = PTR_ERR(ep);
 		goto release_host;
diff --git a/include/scsi/scsi_transport_iscsi.h b/include/scsi/scsi_transport_iscsi.h
index 26fe284daf9a..c146e90e912b 100644
--- a/include/scsi/scsi_transport_iscsi.h
+++ b/include/scsi/scsi_transport_iscsi.h
@@ -133,8 +133,9 @@  struct iscsi_transport {
 
 	void (*session_recovery_timedout) (struct iscsi_cls_session *session);
 	struct iscsi_endpoint *(*ep_connect) (struct Scsi_Host *shost,
-					      struct sockaddr *dst_addr,
-					      int non_blocking);
+					      struct sockaddr_storage *dst_addr,
+					      int non_blocking,
+					      struct iface_rec *iface);
 	int (*ep_poll) (struct iscsi_endpoint *ep, int timeout_ms);
 	void (*ep_disconnect) (struct iscsi_endpoint *ep);
 	int (*tgt_dscvr) (struct Scsi_Host *shost, enum iscsi_tgt_dscvr type,