linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ewan Milne <emilne@redhat.com>
To: Hannes Reinecke <hare@suse.de>
Cc: Bart Van Assche <bart.vanassche@sandisk.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Christoph Hellwig <hch@lst.de>,
	James Bottomley <james.bottomley@hansenpartnership.com>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>
Subject: Re: [PATCHv8 20/23] scsi: Add 'access_state' attribute
Date: Tue, 23 Feb 2016 09:12:32 -0500	[thread overview]
Message-ID: <1456236752.16707.12.camel@localhost.localdomain> (raw)
In-Reply-To: <56CC341F.2000407@suse.de>

On Tue, 2016-02-23 at 18:27 +0800, Hannes Reinecke wrote:
> On 02/22/2016 11:34 PM, Bart Van Assche wrote:
> > On 02/21/16 22:59, Hannes Reinecke wrote:
> >> The main reason why I need the 'access_state' attribute is to decouple
> >> the multipath daemon; at the moment the multipath daemon has to issue
> >> REPORT TARGET PORT GROUPS frequently to figure out the status, which is
> >> causing quite some load on the target. When using the 'access_state'
> >> attribute we would avoid doing I/O for that and have a consistent view,
> >> both on the kernel and the multipath daemon side.
> >>
> >> But it's actually a good thing to have the 'access_state' patch in a
> >> different series; I've got some more patches converting the remaining
> >> device_handler to also supply the 'access_state' values.
> > 
> > Hello Hannes,
> > 
> > The above sounds very interesting to me. Will multipathd recognize at
> > run-time whether or not the kernel supports the sysfs ALUA state
> > attribute ?
> That was the plan.
> (Not that I've got any idea _how_ to do this ATM :-)
> 
> > Will ALUA state changes be reported through udev or will
> > multipathd poll the sysfs ALUA state attributes ? 
> Polling. udev events will be too unreliable here, as each uevent
> potentially causes I/O during uevent processing which might stall as the
> path might be down.
> So we might never get events for failed/transitioning paths, however,
> these are precisely the cases which we're interested in ...

And, in fact, if paths go down due to e.g. an FC switch failure, it is
common for a large number of paths to go down at once, causing a large
number of uevents to be queued.

> 
> > And if the netlink
> > buffer that is used in multipathd to receive udev events overflows
> > (ENOBUFS), will multipathd resynchronize its state ? As far as I can see
> > in source file libmultipath/uevent.c today multipathd ignores netlink
> > buffer overflows.
> > 
> Which, thankfully, doesn't apply as multipathd will be polling the sysfs
> attribute directly :-)
> 
> Cheers,
> 
> Hannes



  reply	other threads:[~2016-02-23 14:12 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-19  8:16 [PATCHv8 00/23] ALUA device handler update, part II Hannes Reinecke
2016-02-19  8:16 ` [PATCHv8 01/23] scsi_dh_alua: Pass buffer as function argument Hannes Reinecke
2016-02-19  8:16 ` [PATCHv8 02/23] scsi_dh_alua: separate out alua_stpg() Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 03/23] scsi_dh_alua: Make stpg synchronous Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 04/23] scsi_dh_alua: call alua_rtpg() if stpg fails Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 05/23] scsi_dh_alua: switch to scsi_execute_req_flags() Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 06/23] scsi_dh_alua: allocate RTPG buffer separately Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 07/23] scsi_dh_alua: Use separate alua_port_group structure Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 08/23] scsi_dh_alua: use unique device id Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 09/23] scsi_dh_alua: simplify alua_initialize() Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 10/23] revert commit a8e5a2d593cb ("[SCSI] scsi_dh_alua: ALUA handler attach should succeed while TPG is transitioning") Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 11/23] scsi_dh_alua: move optimize_stpg evaluation Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 12/23] scsi_dh_alua: remove 'rel_port' from alua_dh_data structure Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 13/23] scsi_dh_alua: Use workqueue for RTPG Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 14/23] scsi_dh_alua: Allow workqueue to run synchronously Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 15/23] scsi_dh_alua: Add new blacklist flag 'BLIST_SYNC_ALUA' Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 16/23] scsi_dh_alua: Recheck state on unit attention Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 17/23] scsi_dh_alua: update all port states Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 18/23] scsi_dh_alua: Send TEST UNIT READY to poll for transitioning Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 19/23] scsi_dh: add 'rescan' callback Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 20/23] scsi: Add 'access_state' attribute Hannes Reinecke
2016-02-19 19:10   ` Bart Van Assche
2016-02-20  8:03     ` Hannes Reinecke
2016-02-20 15:16       ` Bart Van Assche
2016-02-21  8:27         ` Hannes Reinecke
2016-02-22  3:05           ` Martin K. Petersen
2016-02-22  4:45           ` Bart Van Assche
2016-02-22  6:59             ` Hannes Reinecke
2016-02-22 15:34               ` Bart Van Assche
2016-02-23 10:27                 ` Hannes Reinecke
2016-02-23 14:12                   ` Ewan Milne [this message]
2016-02-19  8:17 ` [PATCHv8 21/23] scsi_dh_alua: use common definitions for ALUA state Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 22/23] scsi_dh_alua: update 'access_state' field Hannes Reinecke
2016-02-19  8:17 ` [PATCHv8 23/23] scsi_dh_alua: Update version to 2.0 Hannes Reinecke
2016-02-24  1:50 ` [PATCHv8 00/23] ALUA device handler update, part II Martin K. Petersen

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=1456236752.16707.12.camel@localhost.localdomain \
    --to=emilne@redhat.com \
    --cc=bart.vanassche@sandisk.com \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=james.bottomley@hansenpartnership.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.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;
as well as URLs for NNTP newsgroup(s).