All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wodkowski, PawelX <pawelx.wodkowski at intel.com>
To: spdk@lists.01.org
Subject: Re: [SPDK] SPDK Event notifications
Date: Wed, 10 Oct 2018 15:38:12 +0000	[thread overview]
Message-ID: <F6F2A6264E145F47A18AB6DF8E87425D7035FF67@IRSMSX102.ger.corp.intel.com> (raw)
In-Reply-To: D3E86B86BB7EA349915438D95D6A9DC95E394664@IRSMSX102.ger.corp.intel.com

[-- Attachment #1: Type: text/plain, Size: 2926 bytes --]

See comments inline.

Paweł

> -----Original Message-----
> From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Pelplinski, Piotr
> Sent: Wednesday, October 10, 2018 4:59 PM
> To: Storage Performance Development Kit <spdk(a)lists.01.org>
> Subject: [SPDK] SPDK Event notifications
> 
> Hi,
> I started work on SPDK event notifications.  I have few doubts that you might
> help me resolve.
> This functionality adds ability to register for specific events (i.e. a new bdev),
> and be notified asynchronously when those events occur.
> 
> My proposal is three RPC calls based on following workflow:
> 
> 1.      After SPDK application starts, client sends RPCs to SPDK about what
> kinds of events it wants to register for.
> 
> 2.      Then, client subscribes to specified events.
> 
> 3.      Then the client periodically asks for new events.

Why client need to ask for new event? Why event can't be send just send to all clients ASAP they available?
You will have to track what events was send to what clients.
> 
> RPC Calls:

Are you describing the JSON RPC objects here or rpc.py commands?

> 
> 1.      show_async_events <component>
> component (optional) - show events for specified component only
> 
> 2.      register_async_events <unique_id>, <events>
> unique_id - unique identifier for client

What is the unique_id for? Isn't the connection itself an "unique id" enough?

> events - list of comma separated events which client wants to subscribe to.


> (Additional question: Does event should have parameters too? e.g. subscribe
> only to event: deletion of bdev with specific name)
> Response is a list of types of events to which client was subscribed.
> 
> 3.      poll_async_events <unique_id>
> unique_id - unique identifier for client
> Response is a list of events which happen from last call, which include:
> 
> -        Component, # component type for which event is raised
> 
> -        Notification,  # type of event, e.g. add, delete or update
> 
> -        Component_uuid, (e.g lvol uuid)
> 
> -        Parent_uuid (e.g. lvolstore uuid)
> 
> My question is what are the types of events we could register to?
> I can think of few generic bdev events like:
> -added bdev
> -deleted bdev
> -updated bdev
> 
> What other types of event do you see?

Runtime errors? Statistics? Nvmf/iscsi/vhost initiators connecting and disconnecting.
There will be many more but the solution you are proposing should be generic
enough to easly add more event in the future. bdev subsystem good starting point.

> 
> You can also look at the updates on this topic on trello:
> https://trello.com/c/ZTIHxp3w/28-asynchronous-rpc-notifications
> 
> --
> Best Regards,
> Piotr Pelpliński
> 
> _______________________________________________
> SPDK mailing list
> SPDK(a)lists.01.org
> https://lists.01.org/mailman/listinfo/spdk

             reply	other threads:[~2018-10-10 15:38 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-10 15:38 Wodkowski, PawelX [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-10-25 10:31 [SPDK] SPDK Event notifications Sablok, Kunal
2018-10-12 13:15 Pelplinski, Piotr
2018-10-11 20:57 Walker, Benjamin
2018-10-11 20:13 Andrey Kuzmin
2018-10-11  8:01 Pelplinski, Piotr
2018-10-10 17:16 Walker, Benjamin
2018-10-10 14:58 Pelplinski, Piotr

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=F6F2A6264E145F47A18AB6DF8E87425D7035FF67@IRSMSX102.ger.corp.intel.com \
    --to=spdk@lists.01.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.