aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/scsi/scsi_transport_fc.h
diff options
context:
space:
mode:
authorJohannes Thumshirn <jthumshirn@suse.de>2016-11-17 10:31:17 +0100
committerMartin K. Petersen <martin.petersen@oracle.com>2016-11-17 20:15:25 -0500
commitad7660cc1ef13551e3d0a649aaba7c728b8c0ac0 (patch)
tree75c339c889b901bee3e1ceaf682026e4233aef79 /include/scsi/scsi_transport_fc.h
parentscsi: libfc: don't set FC_RQST_STATE_DONE before calling fc_bsg_jobdone() (diff)
downloadwireguard-linux-ad7660cc1ef13551e3d0a649aaba7c728b8c0ac0.tar.xz
wireguard-linux-ad7660cc1ef13551e3d0a649aaba7c728b8c0ac0.zip
scsi: fc: implement kref backed reference counting
Implement kref backed reference counting instead of rolling our own. This elimnates the need of the following fields in 'struct fc_bsg_job': * ref_cnt * state_flags * job_lock bringing us close to unification of 'struct fc_bsg_job' and 'struct bsg_job'. Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de> Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'include/scsi/scsi_transport_fc.h')
-rw-r--r--include/scsi/scsi_transport_fc.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/include/scsi/scsi_transport_fc.h b/include/scsi/scsi_transport_fc.h
index 9f53fe3fa249..8ae5680f2216 100644
--- a/include/scsi/scsi_transport_fc.h
+++ b/include/scsi/scsi_transport_fc.h
@@ -634,9 +634,7 @@ struct fc_bsg_job {
struct fc_rport *rport;
struct device *dev;
struct request *req;
- spinlock_t job_lock;
- unsigned int state_flags;
- unsigned int ref_cnt;
+ struct kref kref;
struct fc_bsg_request *request;
struct fc_bsg_reply *reply;