[PATCH] fc_transport: (update on top of) Add an API to allow an LLD to create vports

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

 



Andrew,

Sorry for not commenting sooner on the RFC.  The reorg is fine, but
I have a couple of comments.

Re: scsi_fc_transport.txt
  Add a function prototype for fc_vport_terminate similar to what's
  done for fc_vport_create

Re: fc_vport_create
  I recommend we pass the channel number in fc_vport_create rather
  than fixing it at zero.

  Also, ids->vport_type should be set to FC_PORTTYPE_NPIV prior to
  calling fc_vport_create. The comment is also meaningless.

I've appended a patch for the above.

-- james s


 Signed-off-by: James Smart <james.smart@xxxxxxxxxx>

 ---

 Documentation/scsi/scsi_fc_transport.txt |    2 ++
 drivers/scsi/scsi_transport_fc.c         |    9 +++++----
 include/scsi/scsi_transport_fc.h         |    2 +-
 3 files changed, 8 insertions(+), 5 deletions(-)


diff -upNr a/Documentation/scsi/scsi_fc_transport.txt b/Documentation/scsi/scsi_fc_transport.txt
--- a/Documentation/scsi/scsi_fc_transport.txt	2008-07-18 10:17:57.000000000 -0400
+++ b/Documentation/scsi/scsi_fc_transport.txt	2008-07-18 10:18:38.000000000 -0400
@@ -468,6 +468,8 @@ fc_vport_create(struct Scsi_Host *shost,
  * Notes:
  *      This routine assumes no locks are held on entry.
  */
+int
+fc_vport_terminate(struct fc_vport *vport)
 
 
 Credits
diff -upNr a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c
--- a/drivers/scsi/scsi_transport_fc.c	2008-07-18 10:17:57.000000000 -0400
+++ b/drivers/scsi/scsi_transport_fc.c	2008-07-18 10:36:20.000000000 -0400
@@ -3209,6 +3209,7 @@ delete_vport:
 /**
  * fc_vport_create - Admin App or LLDD requests creation of a vport
  * @shost:	scsi host the virtual port is connected to.
+ * @channel:	channel on shost port connected to.
  * @ids:	The world wide names, FC4 port roles, etc for
  *              the virtual port.
  *
@@ -3216,14 +3217,14 @@ delete_vport:
  *	This routine assumes no locks are held on entry.
  */
 struct fc_vport *
-fc_vport_create(struct Scsi_Host *shost, struct fc_vport_identifiers *ids)
+fc_vport_create(struct Scsi_Host *shost, int channel,
+	struct fc_vport_identifiers *ids)
 {
 	int stat;
 	struct fc_vport *vport;
 
-	/* We only create vports here. */
-	ids->vport_type = FC_PORTTYPE_NPIV;
-	stat = fc_vport_setup(shost, 0, &shost->shost_gendev, ids, &vport);
+	stat = fc_vport_setup(shost, channel, &shost->shost_gendev,
+		 ids, &vport);
 	return stat ? NULL : vport;
 }
 EXPORT_SYMBOL(fc_vport_create);
diff -upNr a/include/scsi/scsi_transport_fc.h b/include/scsi/scsi_transport_fc.h
--- a/include/scsi/scsi_transport_fc.h	2008-07-18 10:17:57.000000000 -0400
+++ b/include/scsi/scsi_transport_fc.h	2008-07-18 10:32:25.000000000 -0400
@@ -751,7 +751,7 @@ void fc_host_post_vendor_event(struct Sc
 	 *   be sure to read the Vendor Type and ID formatting requirements
 	 *   specified in scsi_netlink.h
 	 */
-struct fc_vport *fc_vport_create(struct Scsi_Host *shost,
+struct fc_vport *fc_vport_create(struct Scsi_Host *shost, int channel,
 		struct fc_vport_identifiers *);
 int fc_vport_terminate(struct fc_vport *vport);
 


--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux