Re: [Qemu-block] BLOCK_STATUS extension
14.02.2018 17:56, Eric Blake wrote: [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. Ok, thank you. -- Best regards, Vladimir
Re: [Qemu-block] BLOCK_STATUS extension
[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
[Qemu-block] BLOCK_STATUS extension
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. -- Best regards, Vladimir