[using the updated nbd list email]

On 02/14/2018 08:35 AM, Vladimir Sementsov-Ogievskiy wrote:
Hi all.

Just note: looks like we allow zero-sized metadata context name. Is it ok?

  *

    |NBD_REP_META_CONTEXT| (4)

    A description of a metadata context. Data:

      o 32 bits, NBD metadata context ID.
      o String, name of the metadata context. This is not required to be
        a human-readable string, but it MUST be valid UTF-8 data.

No; elsewhere we state:


Metadata contexts are identified by their names. The name MUST consist of a 
namespace, followed by a colon, followed by a leaf-name. The namespace must 
consist entirely of printable non-whitespace UTF-8 characters other than 
colons, and be non-empty. The entire name (namespace, colon, and leaf-name) 
MUST follow the restrictions for strings as laid out earlier in this document.

Namespaces MUST be consist of one of the following:

    base, for metadata contexts defined by this document;
    nbd-server, for metadata contexts defined by the implementation that 
accompanies this document (none currently);
    x-*, where * can be replaced by an arbitrary string not containing colons, 
for local experiments. This SHOULD NOT be used by metadata contexts that are 
expected to be widely used.
    A third-party namespace from the list below.


So a name must be at least 2 bytes (for a one-byte namespace, if someone ever registers one - and supposing that namespace has zero-byte leaf names), but will more commonly be even longer.

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Reply via email to