-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
unset uuid nvmes, '00000000-0000-0000-0000-000000000000' will raise DuplicateUUIDError #1221
Comments
cc @tbzatek |
@iasunsea could you please attach output of |
|
Ah, so if you're creating new namespaces, then I guess the IDs are not set and default to zero. There are multiple ID options for namespaces, not sure what's possible to set on your end. I guess we'll need to handle such situations either way. |
|
@vojtechtrefny @tbzatek i see the pr #1223 has been merged . i think i can close this issue, can i ? |
Looking at NVM Express Base Specification, Revision 2.0d, section 5.17.2.3 Namespace Identification Descriptor list (CNS 03h), NIDT=3h: I don't see any mention about special treatment when all the bytes are zeroes, indicating a valid value. Availability of this value is indicated by the NIDT field, i.e. when it's not included in the Namespace Identification Descriptor List, only then it's not supported. So I think libblockdev is correct by providing this value and it's up to consumers to decide whether to use it. Obviously the value is not unique. As #1223 has been merged, you can close this ticket. I strongly recommend to set proper identifiers during namespace creation (or avoid setting UUID and have NGUID as a primary identifier), to prevent potential confusion with other tools. |
Interesting, merging the PR should've closed this, it has the |
class NVMeNamespaceDevicePopulator(DiskDevicePopulator): has attribute["uuid"] , to get nvme ninfo.uuid. when device has more unset nvmes , but some one uuid is '00000000-0000-0000-0000-000000000000'
then class DeviceTreeBase(object): def _add_device(self, newdev, new=True):
will raise DuplicateUUIDError
so whether we need to set kwargs["uuid"] = None when ninfo.uuid == '00000000-0000-0000-0000-000000000000'
The text was updated successfully, but these errors were encountered: