[SRU] Unable to modify/create-namespace over NVDIMM-N

Bug #1811660 reported by Sujith Pandel on 2019-01-14
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
The Dell-poweredge project
Undecided
Unassigned
linux (Ubuntu)
Undecided
Unassigned

Bug Description

[Impact]
Users are unable to modify or create namespaces over NVDIMM-N

[Test Case]

Steps to Reproduce:
1. Setup a Dell EMC 14G server R740xd server with NVDIMM-N, update BIOS & NVDIMM firmware to latest available to customers.
2. Install and boot to Ubuntu 18.04
3. Notice that no pmems are enumerated.
4. Try #ndctl create-namespace -> Failure with device or resource busy.

Actual results:
No pmems are enumerated, cannot create namespaces.
If pmems are already present, then cannot modify the namespaces.

Expected results:
namespace creation should be possible

[Regression Potential]

The Regression Risk is low, Intel not impacted but Dell is.

[Other Info]
Additional Info:
* Seen with upstream linux-4.20.2 also.

* Upstream bug report -
https://github.com/pmem/ndctl/issues/78

* Upstream kernel patch:
https://lists.01.org/pipermail/linux-nvdimm/2019-January/019435.html

Request you to incorporate it in bionic and xenial kernels.

information type: Public → Private
information type: Private → Public

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1811660

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete

Can you add the Firmware versions for the BIOS and for the NVDIMM. Also can you include the uname -a information as well.

tags: added: bionic tpp xenial
Sujith Pandel (sujithpandel) wrote :

It can be seen across all 14G Dell EMC servers carrying NVDIMM-N.

Current setup I have is a T640 with 1.6.13 BIOS and NVDIMM fw version-9324

Sujith Pandel (sujithpandel) wrote :

Issue seen across all kernels of Ubuntu 18.04

Jeff Lane (bladernr) wrote :

Out of curiosity, Are you using ipmctl and libsafec from Juston Li's PPAs to do the configuration of the NVDIMMs?

https://launchpad.net/~jhli/+archive/ubuntu/ipmctl
https://launchpad.net/~jhli/+archive/ubuntu/libsafec

Jerry Clement (jerry-clement) wrote :

After booting to the OS, user is unable to create namespaces by running "ndctl create-namespace". Even by using flags such as -f or -e, the operation is not successful.
I am not aware of ipmctl being approved as a management tool for nvdimm-n (yet?)

Michael Reed (mreed8855) on 2019-01-29
tags: added: verification-needed-bionic verification-needed-xenial
summary: - Unable to modify/create-namespace over NVDIMM-N
+ [SRU] Unable to modify/create-namespace over NVDIMM-N
Michael Reed (mreed8855) on 2019-01-29
description: updated
Khaled El Mously (kmously) wrote :

I have built a bionic test kernel with those fixes (+2 others needed for backporting) for testing.

The kernel can be found at:

https://kernel.ubuntu.com/~kmously/1811660/kernel-kmously-96d0cc8-l7Et/

@Sujith Pandel can you please confirm of this kernel fixes the problem or not?

Thanks.

Sujith Pandel (sujithpandel) wrote :
Download full text (4.1 KiB)

Another issue pops-up, looks like there are a few nvdimm patches that require backporting:

# ndctl create-namespace -e "namespace0.0" -m fsdax -f -vvv
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (256 byte) labels
libndctl: ndctl_dimm_enable: nmem0: failed to enable
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (128 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (128 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (128 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (128 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (128 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (128 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (128 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (128 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (128 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (128 byte) labels
libndctl: sizeof_namespace_index: nmem0: label area (1024) too small to host (128 byte) labels
libndctl: sizeof_namespace_index: nmem0: label are...

Read more...

Andy Whitcroft (apw) wrote :

This bug was erroneously marked for verification in bionic; verification is not required and verification-needed-bionic is being removed.

tags: added: kernel-fixup-verification-needed-bionic verification-done-bionic
removed: verification-needed-bionic
Jeff Lane (bladernr) wrote :

Has this been tested with Disco (19.04) or Cosmic (18.10)? IOW does this issue with ndctl only exist in Bionic, or does it carry forward?

Sujith Pandel (sujithpandel) wrote :

This is a kernel issue and we have seen this with upstream kernels and verified the fixes on upstream kernels.
I expect bionic kernel 4.15 and above kernels to display this defect.

Although I have not tried applying only the kernel fix on bionic, the test kernel shared above shows that original defect is resolved, however another one has popped up.
This indicates that a few more patches are required to get the complete namespace modification functionality working.

Michael Reed (mreed8855) wrote :

Sujith,

What is the other issue and have you identified the other patches required to completely get the namespace modification functionality working?

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers