On Mon, 2012-07-16 at 11:04 -0700, Roland Dreier wrote:
> From: Roland Dreier <roland@xxxxxxxxxxxxxxx>
>
> The only place that sets qla_tgt_sess.tearing_down calls
> target_splice_sess_cmd_list() immediately afterwards, without dropping
> the lock it holds. That function sets se_session.sess_tearing_down,
> so we can get rid of the qla_target-specific flag, and in the one
> place that looks at the qla_tgt_sess.tearing_down flag just test
> se_session.sess_tearing_down instead.
>
Looks fine. Applied to for-next.
Thanks Roland!
> Cc: Chad Dupuis <chad.dupuis@xxxxxxxxxx>
> Cc: Arun Easi <arun.easi@xxxxxxxxxx>
> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>
> ---
> drivers/scsi/qla2xxx/qla_target.c | 2 +-
> drivers/scsi/qla2xxx/qla_target.h | 1 -
> drivers/scsi/qla2xxx/tcm_qla2xxx.c | 1 -
> 3 files changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c
> index 77759c7..87b5a330 100644
> --- a/drivers/scsi/qla2xxx/qla_target.c
> +++ b/drivers/scsi/qla2xxx/qla_target.c
> @@ -2644,7 +2644,7 @@ static void qlt_do_work(struct work_struct *work)
> sess = ha->tgt.tgt_ops->find_sess_by_s_id(vha,
> atio->u.isp24.fcp_hdr.s_id);
> if (sess) {
> - if (unlikely(sess->tearing_down)) {
> + if (unlikely(sess->se_sess->sess_tearing_down)) {
> sess = NULL;
> spin_unlock_irqrestore(&ha->hardware_lock, flags);
> goto out_term;
> diff --git a/drivers/scsi/qla2xxx/qla_target.h b/drivers/scsi/qla2xxx/qla_target.h
> index 9f9ef16..07aa265 100644
> --- a/drivers/scsi/qla2xxx/qla_target.h
> +++ b/drivers/scsi/qla2xxx/qla_target.h
> @@ -813,7 +813,6 @@ struct qla_tgt_sess {
> unsigned int conf_compl_supported:1;
> unsigned int deleted:1;
> unsigned int local:1;
> - unsigned int tearing_down:1;
>
> struct se_session *se_sess;
> struct scsi_qla_host *vha;
> diff --git a/drivers/scsi/qla2xxx/tcm_qla2xxx.c b/drivers/scsi/qla2xxx/tcm_qla2xxx.c
> index 6e64314..3cb2b97 100644
> --- a/drivers/scsi/qla2xxx/tcm_qla2xxx.c
> +++ b/drivers/scsi/qla2xxx/tcm_qla2xxx.c
> @@ -466,7 +466,6 @@ static int tcm_qla2xxx_shutdown_session(struct se_session *se_sess)
> vha = sess->vha;
>
> spin_lock_irqsave(&vha->hw->hardware_lock, flags);
> - sess->tearing_down = 1;
> target_splice_sess_cmd_list(se_sess);
> spin_unlock_irqrestore(&vha->hw->hardware_lock, flags);
>
--
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
[SCSI Target Devel]
[Linux SCSI Target Infrastructure]
[Kernel Newbies]
[Share Photos]
[IDE]
[Security]
[Git]
[Netfilter]
[Bugtraq]
[Photos]
[Yosemite]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Linux ATA RAID]
[Linux IIO]
[Samba]
[Video 4 Linux]
[Device Mapper]
[Linux Resources]