Linux SCSI subsystem development
 help / color / mirror / Atom feed
From: Hannes Reinecke <hare@suse.de>
To: Tejun Heo <htejun@gmail.com>
Cc: James Bottomley <jbottomley@suse.de>,
	SCSI Mailing List <linux-scsi@vger.kernel.org>,
	Richard Sharpe <realrichardsharpe@gmail.com>,
	kay.sievers@vrfy.org
Subject: Re: Current plans for SDEV_EVT_* and friends
Date: Tue, 01 Feb 2011 16:29:50 +0100	[thread overview]
Message-ID: <4D4826EE.3030906@suse.de> (raw)
In-Reply-To: <20110201145903.GO14211@htj.dyndns.org>

On 02/01/2011 03:59 PM, Tejun Heo wrote:
> (cc'ing Kay)
> 
> Hello,
> 
> On Tue, Feb 01, 2011 at 03:55:14PM +0100, Hannes Reinecke wrote:
>> seeing that you are moving the old SCSI / libata AEN handling over
>> to the new block-based workqueue, I was wondering what your plans
>> are with the remaining SDEV_EVT_* things.
> 
> SDEV_EVT_* are basically dead.  There's no valid user for it in the
> kernel.  libata-scsi hasn't been converted yet - virtually SATA AN is
> pretty much stillborn and converting it would require a way to map ATA
> device to block device which isn't easy without changing SCSI.
> 
>> Thing is I'm currently working on implementing proper Unit Attention
>> handling in the SCSI stack. For this I would need to have some field
>> off the scsi_device structure into which I can store information
>> about which events / event types are supported and which are activated.
>> So the existing bitmap approach with 'supported_events' would quite
>> a good starting point here, and it will even be useful to add
>> another one, eg 'enabled_events'.
>> And, of course, plan is to route appropriate events over to the
>> block workqueue by calling disk_check_events().
>>
>> Unless you have other ideas/plans here ...
> 
> So, I think using the block layer DISK_EVENT_* would be the right way
> to do it, but what kind of events do you have on mind?
> 
Well, partially.

DISK_EVENT_* is of course the right way to got if we're dealing with
events which _can_ be mapped onto a gendisk.
However, not all SCSI LUNs do have this mapping (eg LUNs not
associated with any device driver) and not all events affect a
single LUN. Some classes of events actually relate to the entire
target, which would require us to call back into the SCSI host itself.
Case in point: REPORT LUN DATA CHANGED, for which we would need to
rescan the host.

So we basically have to have another set of events in the SCSI
layer, some of which map to the existing DISK_EVENT_*, and some don't.
Of course I can go ahead and create my own set of events, but that
would nearly amount to code duplication.
Hence the idea of re-using SDEV_EVT_*
Or I'll be renaming them to SDEV_EVENT_* to be in-line with your
DISK_EVENT_* thing and to avoid confusion with the previous
implementation.

Cheers,

Hannes

-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2011-02-01 15:22 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-01 14:55 Current plans for SDEV_EVT_* and friends Hannes Reinecke
2011-02-01 14:59 ` Tejun Heo
2011-02-01 15:29   ` Hannes Reinecke [this message]
2011-02-01 15:29     ` Tejun Heo

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=4D4826EE.3030906@suse.de \
    --to=hare@suse.de \
    --cc=htejun@gmail.com \
    --cc=jbottomley@suse.de \
    --cc=kay.sievers@vrfy.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=realrichardsharpe@gmail.com \
    /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