qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] Further tidy-up on block status


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [Qemu-devel] [PATCH] Further tidy-up on block status
Date: Wed, 14 Dec 2016 20:55:56 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1

14.12.2016 20:36, Alex Bligh wrote:
On 14 Dec 2016, at 17:05, Vladimir Sementsov-Ogievskiy <address@hidden> wrote:
However, this raises another question. Wouter deliberately made the
query format freeform so that you could e.g. set a context like:

    backup:modtime>201612081034

which might (in theory) return a list of blocks which are newer than
the given timestamp. It would clearly be impossible to return all such
contexts. I wonder if we should carve out an exception here.


Interesting. Even query 'backup:modtime>*' would be a problem, not only empty 
query list.

Actually, we do not need to 'list contexts', as it is about management, not 
about data transfer. We only need a way to check, that particular query selects 
all needed contexts and no others. Just to be sure that we are know, what we 
will select by NBD_OPT_SET_META_CONTEXT with _same_ query.

So, I suggest just to say, that _LIST_ can return error if too much contexts 
are selected. And same should be done for _SET_. And it should be documented 
that this result of query (list or error) should be equal for these two 
commands.
(two CCs that always bounce removed)

Hmmm... Well in the '*' case, it's up to the namespace as to how it parses 
things, so '*' could be prohibited entirely or mean 'return the first 20 
matching' or similar. So that's less of a problem. And 'set all' doesn't exist 
(unlike 'list all').

I think in the LIST case we should allow the server to omit contexts under 
certain circumstances, and allow SET to return ETOOBIG.


We can't prohibit '*' as query string as implementation defined. And we shouldn't (I think) define its meaning. Opposite, we can define, that query must not select more than 20 contexts, but I'm not sure that this is good.

So, do you mean

  list('backup:modtime>*') -> empty list
  set('backup:modtime>*') -> ETOOBIG

? For me this looks strange.

--
Best regards,
Vladimir




reply via email to

[Prev in Thread] Current Thread [Next in Thread]