* [PATCH 1/1] target: Use RCU helpers for INQUIRY t10_alua_tg_pt_gp use
@ 2021-11-17 21:39 Mike Christie
2021-11-18 17:14 ` Maurizio Lombardi
2021-11-19 4:16 ` Martin K. Petersen
0 siblings, 2 replies; 3+ messages in thread
From: Mike Christie @ 2021-11-17 21:39 UTC (permalink / raw)
To: target-devel, martin.petersen, linux-scsi, james.bottomley
Cc: Mike Christie, kernel test robot
This fixes the sparse warnings about t10_alua_tg_pt_gp accesses in
target_core_spc.c from:
commit 7324f47d4293 ("scsi: target: Replace lun_tg_pt_gp_lock with rcu in
I/O path")
That patch replaced the lun_tg_pt_gp_lock use in the IO path, but didn't
update the INQUIRY code.
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Mike Christie <michael.christie@oracle.com>
---
drivers/target/target_core_spc.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/target/target_core_spc.c b/drivers/target/target_core_spc.c
index 22703a0dbd07..4c76498d3fb0 100644
--- a/drivers/target/target_core_spc.c
+++ b/drivers/target/target_core_spc.c
@@ -40,11 +40,11 @@ static void spc_fill_alua_data(struct se_lun *lun, unsigned char *buf)
*
* See spc4r17 section 6.4.2 Table 135
*/
- spin_lock(&lun->lun_tg_pt_gp_lock);
- tg_pt_gp = lun->lun_tg_pt_gp;
+ rcu_read_lock();
+ tg_pt_gp = rcu_dereference(lun->lun_tg_pt_gp);
if (tg_pt_gp)
buf[5] |= tg_pt_gp->tg_pt_gp_alua_access_type;
- spin_unlock(&lun->lun_tg_pt_gp_lock);
+ rcu_read_unlock();
}
static u16
@@ -325,14 +325,14 @@ spc_emulate_evpd_83(struct se_cmd *cmd, unsigned char *buf)
* Get the PROTOCOL IDENTIFIER as defined by spc4r17
* section 7.5.1 Table 362
*/
- spin_lock(&lun->lun_tg_pt_gp_lock);
- tg_pt_gp = lun->lun_tg_pt_gp;
+ rcu_read_lock();
+ tg_pt_gp = rcu_dereference(lun->lun_tg_pt_gp);
if (!tg_pt_gp) {
- spin_unlock(&lun->lun_tg_pt_gp_lock);
+ rcu_read_unlock();
goto check_lu_gp;
}
tg_pt_gp_id = tg_pt_gp->tg_pt_gp_id;
- spin_unlock(&lun->lun_tg_pt_gp_lock);
+ rcu_read_unlock();
buf[off] = tpg->proto_id << 4;
buf[off++] |= 0x1; /* CODE SET == Binary */
--
2.25.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/1] target: Use RCU helpers for INQUIRY t10_alua_tg_pt_gp use
2021-11-17 21:39 [PATCH 1/1] target: Use RCU helpers for INQUIRY t10_alua_tg_pt_gp use Mike Christie
@ 2021-11-18 17:14 ` Maurizio Lombardi
2021-11-19 4:16 ` Martin K. Petersen
1 sibling, 0 replies; 3+ messages in thread
From: Maurizio Lombardi @ 2021-11-18 17:14 UTC (permalink / raw)
To: Mike Christie
Cc: target-devel, martin.petersen, linux-scsi, james.bottomley,
kernel test robot
On Wed, Nov 17, 2021 at 03:39:28PM -0600, Mike Christie wrote:
> This fixes the sparse warnings about t10_alua_tg_pt_gp accesses in
> target_core_spc.c from:
>
> commit 7324f47d4293 ("scsi: target: Replace lun_tg_pt_gp_lock with rcu in
> I/O path")
>
> That patch replaced the lun_tg_pt_gp_lock use in the IO path, but didn't
> update the INQUIRY code.
>
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Mike Christie <michael.christie@oracle.com>
> ---
> drivers/target/target_core_spc.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/target/target_core_spc.c b/drivers/target/target_core_spc.c
> index 22703a0dbd07..4c76498d3fb0 100644
> --- a/drivers/target/target_core_spc.c
> +++ b/drivers/target/target_core_spc.c
> @@ -40,11 +40,11 @@ static void spc_fill_alua_data(struct se_lun *lun, unsigned char *buf)
> *
> * See spc4r17 section 6.4.2 Table 135
> */
> - spin_lock(&lun->lun_tg_pt_gp_lock);
> - tg_pt_gp = lun->lun_tg_pt_gp;
> + rcu_read_lock();
> + tg_pt_gp = rcu_dereference(lun->lun_tg_pt_gp);
> if (tg_pt_gp)
> buf[5] |= tg_pt_gp->tg_pt_gp_alua_access_type;
> - spin_unlock(&lun->lun_tg_pt_gp_lock);
> + rcu_read_unlock();
> }
>
> static u16
> @@ -325,14 +325,14 @@ spc_emulate_evpd_83(struct se_cmd *cmd, unsigned char *buf)
> * Get the PROTOCOL IDENTIFIER as defined by spc4r17
> * section 7.5.1 Table 362
> */
> - spin_lock(&lun->lun_tg_pt_gp_lock);
> - tg_pt_gp = lun->lun_tg_pt_gp;
> + rcu_read_lock();
> + tg_pt_gp = rcu_dereference(lun->lun_tg_pt_gp);
> if (!tg_pt_gp) {
> - spin_unlock(&lun->lun_tg_pt_gp_lock);
> + rcu_read_unlock();
> goto check_lu_gp;
> }
> tg_pt_gp_id = tg_pt_gp->tg_pt_gp_id;
> - spin_unlock(&lun->lun_tg_pt_gp_lock);
> + rcu_read_unlock();
>
> buf[off] = tpg->proto_id << 4;
> buf[off++] |= 0x1; /* CODE SET == Binary */
> --
> 2.25.1
>
Looks ok,
Reviewed-by: Maurizio Lombardi <mlombard@redhat.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/1] target: Use RCU helpers for INQUIRY t10_alua_tg_pt_gp use
2021-11-17 21:39 [PATCH 1/1] target: Use RCU helpers for INQUIRY t10_alua_tg_pt_gp use Mike Christie
2021-11-18 17:14 ` Maurizio Lombardi
@ 2021-11-19 4:16 ` Martin K. Petersen
1 sibling, 0 replies; 3+ messages in thread
From: Martin K. Petersen @ 2021-11-19 4:16 UTC (permalink / raw)
To: linux-scsi, Mike Christie, target-devel, james.bottomley
Cc: Martin K . Petersen, kernel test robot
On Wed, 17 Nov 2021 15:39:28 -0600, Mike Christie wrote:
> This fixes the sparse warnings about t10_alua_tg_pt_gp accesses in
> target_core_spc.c from:
>
> commit 7324f47d4293 ("scsi: target: Replace lun_tg_pt_gp_lock with rcu in
> I/O path")
>
> That patch replaced the lun_tg_pt_gp_lock use in the IO path, but didn't
> update the INQUIRY code.
>
> [...]
Applied to 5.16/scsi-fixes, thanks!
[1/1] target: Use RCU helpers for INQUIRY t10_alua_tg_pt_gp use
https://git.kernel.org/mkp/scsi/c/e2a49a95b571
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-11-19 4:16 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-17 21:39 [PATCH 1/1] target: Use RCU helpers for INQUIRY t10_alua_tg_pt_gp use Mike Christie
2021-11-18 17:14 ` Maurizio Lombardi
2021-11-19 4:16 ` Martin K. Petersen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.