[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [PATCH v3 11/13] nvdimm: allow setting the l
From: |
David Hildenbrand |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [PATCH v3 11/13] nvdimm: allow setting the label-size to 0 |
Date: |
Mon, 18 Jun 2018 12:49:02 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 |
On 16.06.2018 04:05, Haozhong Zhang wrote:
> On 06/15/18 16:04, David Hildenbrand wrote:
>> It is inititally 0, so setting it to 0 should be allowed, too.
>
> I'm fine with this change and believe nothing is broken in practice,
> but what is expected by the user who sets a zero label size?
I'd say exactly the same as if not specifying a label size, because the
default is initially 0.
I remember that the user should be able to spell everything out on the
cmdline. Relying only on default values is usually not what we want.
>
> Look at nvdimm_dsm_device() which enables label DSMs only if the label
> size is not smaller than 128 KB. If a user sets a zero label size
> explicitly, does he/she expect those label DSMs are available in
> guest? (according to Intel spec, the minimal label size is 128
> KBytes)
>
> I think if it's allowed to set a zero label-size, it would be better
> to document its difference from other non-zero values in docs/nvdimm.txt.
We can fixup the the documentation to to explicitly state "default is
label-size=0" and "With label-size=0 label support is disabled.".
But this will be a separate patch.
Thanks!
>
> Thanks,
> Haozhong
>
>>
>> Signed-off-by: David Hildenbrand <address@hidden>
>> ---
>> hw/mem/nvdimm.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c
>> index db7d8c3050..df7646488b 100644
>> --- a/hw/mem/nvdimm.c
>> +++ b/hw/mem/nvdimm.c
>> @@ -52,9 +52,9 @@ static void nvdimm_set_label_size(Object *obj, Visitor *v,
>> const char *name,
>> if (local_err) {
>> goto out;
>> }
>> - if (value < MIN_NAMESPACE_LABEL_SIZE) {
>> + if (value && value < MIN_NAMESPACE_LABEL_SIZE) {
>> error_setg(&local_err, "Property '%s.%s' (0x%" PRIx64 ") is
>> required"
>> - " at least 0x%lx", object_get_typename(obj),
>> + " either 0 or at least 0x%lx", object_get_typename(obj),
>> name, value, MIN_NAMESPACE_LABEL_SIZE);
>> goto out;
>> }
>> --
>> 2.17.1
>>
>>
>
--
Thanks,
David / dhildenb
- [Qemu-ppc] [PATCH v3 08/13] pc-dimm: merge get_(vmstate_)memory_region(), (continued)
- [Qemu-ppc] [PATCH v3 08/13] pc-dimm: merge get_(vmstate_)memory_region(), David Hildenbrand, 2018/06/15
- [Qemu-ppc] [PATCH v3 07/13] hostmem: drop error variable from host_memory_backend_get_memory(), David Hildenbrand, 2018/06/15
- [Qemu-ppc] [PATCH v3 10/13] nvdimm: convert nvdimm_mr into a pointer, David Hildenbrand, 2018/06/15
- [Qemu-ppc] [PATCH v3 11/13] nvdimm: allow setting the label-size to 0, David Hildenbrand, 2018/06/15
- [Qemu-ppc] [PATCH v3 12/13] nvdimm: make get_memory_region() perform checks and initialization, David Hildenbrand, 2018/06/15
- [Qemu-ppc] [PATCH v3 09/13] nvdimm: convert "unarmed" into a static property, David Hildenbrand, 2018/06/15
- [Qemu-ppc] [PATCH v3 13/13] pc-dimm: get_memory_region() will not fail after realize, David Hildenbrand, 2018/06/15
- Re: [Qemu-ppc] [PATCH v3 00/13] pc-dimm: next bunch of cleanups, David Hildenbrand, 2018/06/18