Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751807AbdFFSJJ (ORCPT ); Tue, 6 Jun 2017 14:09:09 -0400 Received: from mail-pg0-f68.google.com ([74.125.83.68]:33531 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751626AbdFFSHc (ORCPT ); Tue, 6 Jun 2017 14:07:32 -0400 From: Robert LeBlanc To: lduncan@suse.com Cc: cleech@redhat.com, jejb@linux.vnet.ibm.com, martin.petersen@oracle.com, open-iscsi@googlegroups.com, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, ogerlitz@mellanox.com, sagi@grimberg.me, roid@mellanox.com, dledford@redhat.com, sean.hefty@intel.com, hal.rosenstock@gmail.com, linux-rdma@vger.kernel.org, subbu.seetharaman@broadcom.com, ketan.mukadam@broadcom.com, jitendra.bhivare@broadcom.com, QLogic-Storage-Upstream@qlogic.com, varun@chelsio.com, Robert LeBlanc Subject: [PATCH 2/7] scsi/scsi_transport_iscsi: Update ep_connect to include iface. Date: Tue, 6 Jun 2017 12:07:12 -0600 Message-Id: <20170606180717.5007-3-robert@leblancnet.us> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170606180717.5007-1-robert@leblancnet.us> References: <20170606180717.5007-1-robert@leblancnet.us> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2465 Lines: 63 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 --- drivers/scsi/scsi_transport_iscsi.c | 9 ++++++--- include/scsi/scsi_transport_iscsi.h | 5 +++-- 2 files changed, 9 insertions(+), 5 deletions(-) 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 #include #include +#include #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, -- 2.11.0