linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hannes Reinecke <hare@suse.de>
To: James Bottomley <jbottomley@parallels.com>
Cc: "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"hch@infradead.org" <hch@infradead.org>,
	"elliot@hp.com" <elliot@hp.com>
Subject: Re: [PATCH 1/2] scsi_scan: Send TEST UNIT READY to the LUN before scanning
Date: Wed, 11 Jun 2014 16:33:38 +0200	[thread overview]
Message-ID: <539868C2.50406@suse.de> (raw)
In-Reply-To: <1402496658.2523.7.camel@dabdike.int.hansenpartnership.com>

On 06/11/2014 04:24 PM, James Bottomley wrote:
> On Thu, 2014-06-05 at 09:26 +0200, Hannes Reinecke wrote:
>> REPORT_LUN_SCAN does not report any outstanding unit attention
>> condition as per SAM. However, the target might not be fully
>> initialized at that time, so we might end up getting a
>> default entry (or even a partially filled one).
>> But as we're not able to process the REPORT LUN DATA HAS CHANGED
>> unit attention correctly we'll be missing out some LUNs during
>> startup.
>> So it's better to send a TEST UNIT READY for modern implementations
>> and wait until the unit attention condition goes away.
>
> Are you sure this is a good idea: we just spent ages tuning SCSI init so
> we don't slow systems down.  This patch, in the event the array is
> having a power on problem, takes us right back to waiting for init
> again ... basically the busy wait in scsi_test_lun.
>
> Since the array should send us a UA anyway when it's got itself sorted
> out, what's wrong with just processing the report luns data has changed
> condition?
>
Because we can't.

_If_ we were attempting this we'd run into several issues:
a) Boot will fail, as REPORT LUNs will return 0 LUNs (or just LUN 0).
    So the scanning code will assume everything's fine. Booting will
    continue, only to figure out that no LUNs are present.
    As there is _no_ indication that REPORT LUNs should indeed have
    returned an error (only it can't due to SAM) we wouldn't even
    now that there _is_ an issue.
    (In fact, that's what triggered the patchset in the first place.)
b) Even _if_ we're able so somehow recover from that we will have
    to rescan the host and any attached devices.
    The only way to do this currently is to _remove_ all devices
    from that host and then do a full rescan.
    Trying this with any devices which are already part of some
    complex setup will become ... interesting.

So the easy way out here is indeed just to send a TEST UNIT READY.
And as we're checking for a reasonably SCSI compliance we should
be catching most of the oddballs.

Cheers,

Hannes

  reply	other threads:[~2014-06-11 14:33 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-05  7:26 [PATCH 0/2] scanning fixes Hannes Reinecke
2014-06-05  7:26 ` [PATCH 1/2] scsi_scan: Send TEST UNIT READY to the LUN before scanning Hannes Reinecke
2014-06-11 13:40   ` Christoph Hellwig
2014-06-11 14:24   ` James Bottomley
2014-06-11 14:33     ` Hannes Reinecke [this message]
2014-06-11 14:46       ` James Bottomley
2014-06-11 15:13         ` Hannes Reinecke
2014-06-11 15:25           ` James Bottomley
2014-06-11 15:04       ` Jeremy Linton
2014-09-07 16:24   ` Christoph Hellwig
2014-09-14  8:17     ` Hannes Reinecke
2014-06-05  7:26 ` [PATCH 2/2] scsi: Handle power-on reset unit attention Hannes Reinecke
2014-06-11 12:49   ` Christoph Hellwig
2014-06-11 14:19   ` Ewan Milne

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=539868C2.50406@suse.de \
    --to=hare@suse.de \
    --cc=elliot@hp.com \
    --cc=hch@infradead.org \
    --cc=jbottomley@parallels.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;
as well as URLs for NNTP newsgroup(s).