> On 14 Dec 2016, at 17:05, Vladimir Sementsov-Ogievskiy > <vsement...@virtuozzo.com> 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. -- Alex Bligh