Re: [PATCH] scsi_dh_alua: Do not run STPG for implicit ALUA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/18/19 11:44 PM, Martin K. Petersen wrote:

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()?

Good point.
Will be resending the patch.

Cheers,

Hannes
--
Dr. Hannes Reinecke            Teamlead Storage & Networking
hare@xxxxxxx                              +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah
HRB 21284 (AG Nürnberg)



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux