[dm-devel] [PATCH] [PATCH] libmultipath: return 'ghost' state when port is in transition

Martin Wilck mwilck at suse.com
Mon Mar 6 11:46:50 UTC 2023


Hi Brian,

On Sat, 2023-03-04 at 12:49 -0800, Brian Bunker wrote:
> > 
> The checking for standby is 14 years old, and says that TUR returns
> a unit attention when the path is in standby. I am not sure why that
> wouldn’t be handled by this code above: I would think there should be
> just one unit attention for each I_T_L when an ALUA state change
> happens.Not sure how it exceeds the retry count.
> 
> if (key == 0x6) {
>     /* Unit Attention, retry */
>     if (—retry_tur)
>         goto retry;
> }
> 
> From my perspective failing a path for ALUA state standby is
> reasonable
> since it is not an active state.

I think the historic rationale for using GHOST is that some storage
arrays, in particular active-passive configurations, may keep certain
port groups in STANDBY state. If STANDBY was classified as FAILED,
"multipath -ll" would show all paths of such port groups as FAILED,
which would confuse users.

That's what I meant before, multipath's GHOST can mean multiple things
depending on the actual hardware in use, explicit/implicit ALUA, etc.
Given that today basically every hardware supports ALUA, we could
probably do better. But changing the semantics in the current situation
is risky and error prone.

Regards
Martin



More information about the dm-devel mailing list