linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/44] Convert FibreChannel bsg code to use bsg-lib
@ 2016-10-11 11:28 Johannes Thumshirn
  2016-10-11 11:28 ` [PATCH 01/44] scsi: Get rid of struct fc_bsg_buffer Johannes Thumshirn
                   ` (39 more replies)
  0 siblings, 40 replies; 48+ messages in thread
From: Johannes Thumshirn @ 2016-10-11 11:28 UTC (permalink / raw)
  To: Martin K . Petersen
  Cc: Christoph Hellwig, Hannes Reinecke, Linux Kernel Mailinglist,
	Linux SCSI Mailinglist, Johannes Thumshirn

This series converts the current bsg usage in the FibreChannel drivers over
to use bsg-lib. SAS will follow but 44 patches are big enough for one shot,
so I didn't want to include SAS in there as well.

It looks a bit huge but most of the patches are only code movement and slow
API conversions so everything still works and builds when doing git bisects.

I did take some inspiration from a similar patchset from Mike Christie
dating back to 2011 but it's not a 1:1 copy. Patch 43/44 is heavily based
on his series and attribution is given to him in the commit message.

It is currently regression tested on FCoE using the 'fcns' and
'fcrls'utilities.  I'm still trying to figure out how to test the other
LLDDs. So any pointer from the respective maintainers are appreciated
although the LLDD changes are purely mechanical. All they do is change from
'struct fc_bsg_job' to 'struct bsg_job' and corresponding changes in order
to get the series bisectable.

The idea for this change arose when discussing racy sysfs handling the FC
bsg code with Christoph and is a next step in moving all bsg clients to
bsg-lib to eventually clean up the in kernel bsg API.

Johannes Thumshirn (44):
  scsi: Get rid of struct fc_bsg_buffer
  bfa: don't use fc_bsg_job::request and fc_bsg_job::reply directly
  zfcp: don't use fc_bsg_job::request and fc_bsg_job::reply directly
  ibmvfc: don't use fc_bsg_job::request and fc_bsg_job::reply directly
  lpfc: don't use fc_bsg_job::request and fc_bsg_job::reply directly
  qla2xxx: don't use fc_bsg_job::request and fc_bsg_job::reply directly
  libfc: don't use fc_bsg_job::request and fc_bsg_job::reply directly
  scsi: fc: don't use fc_bsg_job::request and fc_bsg_job::reply directly
  scsi: fc: Export fc_bsg_jobdone
  zfcp: Use fc_bsg_jobdone()
  bfa: Use fc_bsg_jobdone()
  ibmvfc: Use fc_bsg_jobdone()
  libfc: Use fc_bsg_jobdone()
  lpfc: Use fc_bsg_jobdone()
  qla2xxx: Use fc_bsg_jobdone()
  scsi: fc: remove job_done method from struct fc_bsg_job
  scsi: Unify interfaces of fc_bsg_jobdone and bsg_job_done
  scsi: fc: provide fc_bsg_to_shost() helper
  scsi: fc: use fc_bsg_to_shost() to access a bsg_job's Scsi_Host
  bfa: use fc_bsg_to_shost() to access a bsg_job's Scsi_Host
  lpfc: use fc_bsg_to_shost() to access a bsg_job's Scsi_Host
  qla2xxx: use fc_bsg_to_shost() to access a bsg_job's Scsi_Host
  libfc: use fc_bsg_to_shost() to access a bsg_job's Scsi_Host
  ibmvfc: use fc_bsg_to_shost() to access a bsg_job's Scsi_Host
  zfcp: use fc_bsg_to_shost() to access a bsg_job's Scsi_Host
  scsi: fc: provide fc_bsg_to_rport() helper
  scsi: fc: use fc_bsg_to_rport() to access a bsg_job's rport
  zfcp: use fc_bsg_to_rport() to access a bsg_job's rport
  qla2xxx: use fc_bsg_to_rport() to access a bsg_job's rport
  lpfc: use fc_bsg_to_rport() to access a bsg_job's rport
  libfc: use fc_bsg_to_rport() to access a bsg_job's rport
  ibmvfc: use fc_bsg_to_rport() to access a bsg_job's rport
  scsi: libfc: don't set FC_RQST_STATE_DONE before calling
    fc_bsg_jobdone()
  scsi: fc: implement kref backed reference counting
  block: add reference counting for struct bsg_job
  scsi: change FC drivers to use 'struct bsg_job'
  block: export bsg_destroy_job
  scsi: fc: Use bsg_destroy_job
  block: export bsg_softirq_done
  scsi: fc: use bsg_softirq_done
  scsi: fc: use bsg_job_done
  block: add bsg_job_put() and bsg_job_get()
  scsi: fc: move FC transport's bsg code to bsg-lib
  block: unexport bsg_softirq_done() again

 block/bsg-lib.c                  |  19 +-
 drivers/s390/scsi/zfcp_fc.c      |  33 +--
 drivers/scsi/bfa/bfad_bsg.c      |  62 +++---
 drivers/scsi/bfa/bfad_im.h       |   4 +-
 drivers/scsi/ibmvscsi/ibmvfc.c   |  40 ++--
 drivers/scsi/libfc/fc_lport.c    |  47 ++--
 drivers/scsi/lpfc/lpfc_bsg.c     | 375 +++++++++++++++++++-------------
 drivers/scsi/lpfc/lpfc_crtn.h    |   4 +-
 drivers/scsi/qla2xxx/qla_bsg.c   | 449 ++++++++++++++++++++++-----------------
 drivers/scsi/qla2xxx/qla_def.h   |   2 +-
 drivers/scsi/qla2xxx/qla_gbl.h   |   4 +-
 drivers/scsi/qla2xxx/qla_iocb.c  |  13 +-
 drivers/scsi/qla2xxx/qla_isr.c   |  52 +++--
 drivers/scsi/qla2xxx/qla_mr.c    |  15 +-
 drivers/scsi/scsi_transport_fc.c | 409 ++++++-----------------------------
 include/linux/bsg-lib.h          |   4 +
 include/scsi/libfc.h             |   2 +-
 include/scsi/scsi_transport_fc.h |  62 ++----
 18 files changed, 742 insertions(+), 854 deletions(-)

-- 
1.8.5.6


^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2016-10-12  7:06 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-11 11:28 [PATCH 00/44] Convert FibreChannel bsg code to use bsg-lib Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 01/44] scsi: Get rid of struct fc_bsg_buffer Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 02/44] bfa: don't use fc_bsg_job::request and fc_bsg_job::reply directly Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 03/44] zfcp: " Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 04/44] ibmvfc: " Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 05/44] lpfc: " Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 06/44] qla2xxx: " Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 08/44] scsi: fc: " Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 09/44] scsi: fc: Export fc_bsg_jobdone Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 10/44] zfcp: Use fc_bsg_jobdone() Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 11/44] bfa: " Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 12/44] ibmvfc: " Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 14/44] lpfc: " Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 15/44] qla2xxx: " Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 16/44] scsi: fc: remove job_done method from struct fc_bsg_job Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 18/44] scsi: fc: provide fc_bsg_to_shost() helper Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 19/44] scsi: fc: use fc_bsg_to_shost() to access a bsg_job's Scsi_Host Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 20/44] bfa: " Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 21/44] lpfc: " Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 22/44] qla2xxx: " Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 24/44] ibmvfc: " Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 25/44] zfcp: " Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 26/44] scsi: fc: provide fc_bsg_to_rport() helper Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 27/44] scsi: fc: use fc_bsg_to_rport() to access a bsg_job's rport Johannes Thumshirn
2016-10-11 11:28 ` [PATCH 28/44] zfcp: " Johannes Thumshirn
2016-10-11 11:29 ` [PATCH 29/44] qla2xxx: " Johannes Thumshirn
2016-10-11 11:29 ` [PATCH 30/44] lpfc: " Johannes Thumshirn
2016-10-11 11:29 ` [PATCH 32/44] ibmvfc: " Johannes Thumshirn
2016-10-11 11:29 ` [PATCH 34/44] scsi: fc: implement kref backed reference counting Johannes Thumshirn
2016-10-11 11:29 ` [PATCH 35/44] block: add reference counting for struct bsg_job Johannes Thumshirn
     [not found] ` <cover.1476180827.git.jthumshirn-l3A5Bk7waGM@public.gmane.org>
2016-10-11 11:28   ` [PATCH 07/44] libfc: don't use fc_bsg_job::request and fc_bsg_job::reply directly Johannes Thumshirn
2016-10-11 11:28   ` [PATCH 13/44] libfc: Use fc_bsg_jobdone() Johannes Thumshirn
2016-10-11 11:28   ` [PATCH 17/44] scsi: Unify interfaces of fc_bsg_jobdone and bsg_job_done Johannes Thumshirn
2016-10-11 11:28   ` [PATCH 23/44] libfc: use fc_bsg_to_shost() to access a bsg_job's Scsi_Host Johannes Thumshirn
2016-10-11 11:29   ` [PATCH 31/44] libfc: use fc_bsg_to_rport() to access a bsg_job's rport Johannes Thumshirn
2016-10-11 11:29   ` [PATCH 33/44] scsi: libfc: don't set FC_RQST_STATE_DONE before calling fc_bsg_jobdone() Johannes Thumshirn
2016-10-11 11:29   ` [PATCH 36/44] scsi: change FC drivers to use 'struct bsg_job' Johannes Thumshirn
2016-10-11 11:29 ` [PATCH 37/44] block: export bsg_destroy_job Johannes Thumshirn
2016-10-11 11:29 ` [PATCH 38/44] scsi: fc: Use bsg_destroy_job Johannes Thumshirn
2016-10-11 11:29 ` [PATCH 39/44] block: export bsg_softirq_done Johannes Thumshirn
2016-10-11 11:29 ` [PATCH 40/44] scsi: fc: use bsg_softirq_done Johannes Thumshirn
2016-10-11 11:29 ` [PATCH 41/44] scsi: fc: use bsg_job_done Johannes Thumshirn
2016-10-11 11:29 ` [PATCH 42/44] block: add bsg_job_put() and bsg_job_get() Johannes Thumshirn
2016-10-11 11:29 ` [PATCH 43/44] scsi: fc: move FC transport's bsg code to bsg-lib Johannes Thumshirn
2016-10-11 11:29 ` [PATCH 44/44] block: unexport bsg_softirq_done() again Johannes Thumshirn
2016-10-11 16:49 ` [PATCH 00/44] Convert FibreChannel bsg code to use bsg-lib Christoph Hellwig
2016-10-12  7:06   ` Johannes Thumshirn
2016-10-11 18:00 ` Hannes Reinecke

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).