Linux SCSI subsystem development
 help / color / mirror / Atom feed
From: "Martin K. Petersen" <martin.petersen@oracle.com>
To: Brian Bunker <brian@purestorage.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
	linux-scsi@vger.kernel.org
Subject: Re: The PQ=1 saga
Date: Tue, 24 Jan 2023 23:04:10 -0500	[thread overview]
Message-ID: <yq1a627l4gn.fsf@ca-mkp.ca.oracle.com> (raw)
In-Reply-To: <CB441742-2C22-41A4-95A3-10D251C31F5B@purestorage.com> (Brian Bunker's message of "Tue, 24 Jan 2023 17:02:16 -0800")


Brian,

> For a completely separate reason I would like to see PQ=1 expose the
> sd device.

The host RAID controller case we could probably cover without relying on
PQ=1 at all (we kind-of already do). But there are also storage arrays
out there that rely on PQ=1 to inhibit devices being claimed.
Historically they did this because some other operating systems couldn't
handle a processor device type. So I suspect that keying off of TPGS
alone is probably not sufficient to determine whether PQ=1 should cause
us to attach a ULD or not in your scenario.

> ALUA state transitions from unavailable back to another state does not
> work depending on what state devices are in when they are initially
> discovered.  In the ALUA unavailable state the peripheral qualifier of
> the device should also be set to 001b.

Yep, an unfortunate wrinkle in the spec (although it makes sense).

> This hole makes the unavailable ALUA state unattractive. Allowing the
> peripheral qualifier set to 001b to still create an sd device on
> discovery corrects this hole.

Does your implementation actually support READ CAPACITY etc. in
unavailable state? Otherwise we'd end up with zero-length, read-only
block devices with no logical block size. And we've been down that path
before and that is no fun.

I suspect it would be better to trigger a re-probe of the device when
transitioning out of unavailable state. Most of the logic is already in
place and we reread VPD pages, etc. I believe there are only a few
pieces missing from being able to do a full in-place update.

-- 
Martin K. Petersen	Oracle Linux Engineering

  reply	other threads:[~2023-01-25  4:05 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-25  0:01 The PQ=1 saga Martin K. Petersen
2023-01-25  1:02 ` Brian Bunker
2023-01-25  4:04   ` Martin K. Petersen [this message]
2023-01-25 19:56     ` Brian Bunker
2023-01-25 20:36       ` Bart Van Assche
2023-01-25  1:41 ` Bart Van Assche
2023-01-25  8:33   ` Martin Wilck
2023-01-26  9:01     ` Hannes Reinecke
2023-01-27 19:57       ` Brian Bunker
2023-01-27 20:43         ` Bart Van Assche
2023-01-27 21:33           ` Brian Bunker
2023-01-30 13:35         ` Hannes Reinecke
2023-01-31 21:00           ` Brian Bunker
2025-11-20 16:46             ` Brian Bunker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=yq1a627l4gn.fsf@ca-mkp.ca.oracle.com \
    --to=martin.petersen@oracle.com \
    --cc=brian@purestorage.com \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox