qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Wouter Verhelst <w@uter.be>
To: Alex Bligh <alex@alex.org.uk>
Cc: "nbd-general@lists.sourceforge.net"
	<nbd-general@lists.sourceforge.net>,
	Kevin Wolf <kwolf@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>,
	"Stefan stefanha@redhat. com" <stefanha@redhat.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Denis V . Lunev" <den@openvz.org>, John Snow <jsnow@redhat.com>
Subject: Re: [Qemu-devel] [Nbd] [PATCH] Further tidy-up on block status
Date: Wed, 14 Dec 2016 21:18:58 +0100	[thread overview]
Message-ID: <20161214201858.lblzw2ayddidxfyp@grep.be> (raw)
In-Reply-To: <3D392E31-DDA4-4316-B26D-871E94A83935@alex.org.uk>

On Wed, Dec 14, 2016 at 06:51:48PM +0000, Alex Bligh wrote:
> 
> > On 14 Dec 2016, at 18:18, Alex Bligh <alex@alex.org.uk> wrote:
> > 
> > Let me have a go at a change.
> 
> OK I've pushed a change. I reordered a few bits (to put the
> base:allocation next to the stuff that talks about metadata
> queries at the start), but the main change is below.
> 
> -- 
> Alex Bligh
> 
> 
> 
> @@ -970,15 +1029,38 @@ of the newstyle negotiation.
>         - String, query to list a subset of the available metadata
>           contexts.
> 
> -    If zero queries are sent, then the server MUST return all
> -    the metadata contexts that are available to the client to select
> -    on the given export with `NBD_OPT_SET_META_CONTEXT`.
> -
>      For details on the query string, see under `NBD_OPT_SET_META_CONTEXT`.
> 
>      The server MUST either reply with an error (for instance `EINVAL`
>      if the option is not supported), or reply with a list of
>      `NBD_REP_META_CONTEXT` replies followed by `NBD_REP_ACK`.
> +
> +    If zero queries are sent, then the server MUST return all
> +    the metadata contexts that are available to the client to select
> +    on the given export with `NBD_OPT_SET_META_CONTEXT`, save that:
> +
> +    If one or more queries are sent, then the server MUST return
> +    those metadata contexts that are available to the client to
> +    select on the given export with `NBD_OPT_SET_META_CONTEXT`,
> +    and which match one or more of the queries given. The
> +    support of wildcarding within the leaf-name portion of
> +    the query string is dependent upon the namespace.
> +
> +    In either case, however:
> +
> +    * the server MAY return an incomplete list if returning a
> +      complete list would require undue resources.

This part is a bad idea, as per my other mail. Returning a complete list
should not be optional, but the definition of "complete" doesn't have to
imply "list all possible context names".

> +    * the server MAY return a context consisting of a namespace and
> +      a colon only (i.e. omitting the leaf-name) to indicate that
> +      the namespace contains a large number of possible contexts
> +      within that namespace (for instance a namespace `X-backup` with
> +      contexts that indicate whether blocks were written after
> +      a given date might accept queries of the form
> +      `'X-backup:modifiedtime>[unixdate]'` where `[unixdate]` is an
> +      arbitrary integer, and in this case it might simply
> +      return `X-backup:`)

This is way too detailed, I think. It should just allow namespaces to
define what _LIST_ may return, as long as the client is somehow able to
distill (through knowledge of the spec as well as the information sent
in reply to the _LIST_ command) all the metadata contexts it can
possibly select.

>      The metadata context ID in these replies is reserved and SHOULD be
>      set to zero; clients MUST disregard it.
> 
> @@ -1009,7 +1091,9 @@ of the newstyle negotiation.
> 
>      If zero queries are sent, the server MUST select no metadata contexts.
> 
> -    The server MUST reply with a number of `NBD_REP_META_CONTEXT`
> +    The server MAY return `NBD_REP_ERR_TOO_BIG` if a request
> +    seeks to select too many contexts. Otherwise
> +    the server MUST reply with a number of `NBD_REP_META_CONTEXT`

This part makes sense.

>      replies, one for each selected metadata context, each with a unique
>      metadata context ID, followed by `NBD_REP_ACK`. The metadata context
>      ID is transient and may vary across calls to `NBD_OPT_SET_META_CONTEXT`;

-- 
< ron> I mean, the main *practical* problem with C++, is there's like a dozen
       people in the world who think they really understand all of its rules,
       and pretty much all of them are just lying to themselves too.
 -- #debian-devel, OFTC, 2016-02-12

  reply	other threads:[~2016-12-14 20:19 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-14 15:08 [Qemu-devel] [PATCH] Further tidy-up on block status Alex Bligh
2016-12-14 16:25 ` Vladimir Sementsov-Ogievskiy
2016-12-14 16:38   ` Alex Bligh
2016-12-14 17:05     ` Vladimir Sementsov-Ogievskiy
2016-12-14 17:36       ` Alex Bligh
2016-12-14 17:55         ` Vladimir Sementsov-Ogievskiy
2016-12-14 18:13           ` [Qemu-devel] [Nbd] " Wouter Verhelst
2016-12-14 18:18             ` Alex Bligh
2016-12-14 18:49               ` Wouter Verhelst
2016-12-14 19:01                 ` Alex Bligh
2016-12-14 20:10                   ` Wouter Verhelst
2016-12-26 15:57                   ` Vladimir Sementsov-Ogievskiy
2016-12-29 16:08                     ` Alex Bligh
2016-12-29 16:35                       ` Vladimir Sementsov-Ogievskiy
2016-12-14 18:51               ` Alex Bligh
2016-12-14 20:18                 ` Wouter Verhelst [this message]
2016-12-15 10:04                   ` Alex Bligh
2016-12-15 15:03                     ` Wouter Verhelst
2016-12-15 16:32                       ` Alex Bligh
2016-12-15 16:49                         ` Wouter Verhelst
2016-12-15 17:34                           ` Alex Bligh
2016-12-16 15:52                             ` Wouter Verhelst
2016-12-16 16:25                               ` Alex Bligh
2016-12-17  8:34                                 ` Wouter Verhelst
2016-12-17  9:41                                   ` Alex Bligh
2016-12-14 18:17           ` [Qemu-devel] " Alex Bligh
2016-12-26 14:52             ` Vladimir Sementsov-Ogievskiy
2016-12-28  0:18               ` [Qemu-devel] [Nbd] " Wouter Verhelst
2016-12-29 16:04                 ` Alex Bligh
2016-12-29 16:28                   ` Vladimir Sementsov-Ogievskiy
2016-12-14 16:58 ` [Qemu-devel] " Eric Blake
2016-12-14 17:03   ` Alex Bligh
2016-12-14 17:09 ` [Qemu-devel] [Nbd] " Wouter Verhelst
2016-12-14 17:33   ` Vladimir Sementsov-Ogievskiy
2016-12-14 17:39   ` Alex Bligh
2016-12-14 20:47   ` John Snow
2018-05-03 16:18   ` Eric Blake
2018-05-03 17:26   ` Eric Blake
2018-05-04  6:40     ` Wouter Verhelst
2016-12-27 14:09 ` [Qemu-devel] " Vladimir Sementsov-Ogievskiy
2016-12-27 15:56   ` Eric Blake
2016-12-29 16:14   ` Alex Bligh
2017-01-11 15:31 ` Vladimir Sementsov-Ogievskiy
2017-01-11 19:00   ` Alex Bligh
2017-01-12  7:05     ` Vladimir Sementsov-Ogievskiy
2017-01-12 13:11       ` Alex Bligh
2017-01-13  9:48         ` Vladimir Sementsov-Ogievskiy
2017-01-13 10:29           ` Alex Bligh
2017-01-16 12:26             ` Vladimir Sementsov-Ogievskiy
2017-01-12 11:43 ` Vladimir Sementsov-Ogievskiy
2017-01-12 13:16   ` Alex Bligh
2017-01-20 17:04 ` Vladimir Sementsov-Ogievskiy
2017-01-20 18:00   ` Alex Bligh
2017-01-20 19:35     ` Eric Blake
2017-01-21 12:25       ` [Qemu-devel] [Nbd] " Wouter Verhelst
2018-02-16 12:35 ` Eric Blake
2018-02-16 13:53   ` Vladimir Sementsov-Ogievskiy
2018-02-16 16:10     ` Eric Blake
2018-02-28 13:08       ` Wouter Verhelst
2018-02-28 20:26         ` Eric Blake
2018-02-28 20:29           ` Eric Blake
2018-03-01  9:54         ` Vladimir Sementsov-Ogievskiy

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=20161214201858.lblzw2ayddidxfyp@grep.be \
    --to=w@uter.be \
    --cc=alex@alex.org.uk \
    --cc=den@openvz.org \
    --cc=jsnow@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=nbd-general@lists.sourceforge.net \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=vsementsov@virtuozzo.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).