Hannes, > If a target only supports implicit ALUA sending a SET TARGET PORT > GROUPS command is not only pointless, but might actually cause issues. We already have a conditional in alua_stpg(): if (!(pg->tpgs & TPGS_MODE_EXPLICIT)) { /* Only implicit ALUA supported, retry */ return SCSI_DH_RETRY; } > @@ -832,6 +832,10 @@ static void alua_rtpg_work(struct work_struct *work) > if (err != SCSI_DH_OK) > pg->flags &= ~ALUA_PG_RUN_STPG; > } > + /* Do not run STPG if only implicit ALUA is supported */ > + if (scsi_device_tpgs(sdev) == TPGS_MODE_IMPLICIT) > + pg->flags &= ~ALUA_PG_RUN_STPG; > + > if (pg->flags & ALUA_PG_RUN_STPG) { > pg->flags &= ~ALUA_PG_RUN_STPG; > spin_unlock_irqrestore(&pg->lock, flags); Instead of checking for EXPLICIT one place and checking for !IMPLICIT another, can we consolidate the two and maybe do: if (pg->flags & ALUA_PG_RUN_STPG && scsi_device_tpgs(sdev) == TPGS_MODE_EXPLICIT) { [...] and then remove the redundant check in alua_stpg()? -- Martin K. Petersen Oracle Linux Engineering