Public bug reported: [Impact]
When compiling bionic linux 4.15.0-56.62 with CONFIG_NVM disabled, it fails with: make[5]: *** [drivers/nvme/host/core.o] Error 1 make[5]: *** Waiting for unfinished jobs.... In file included from /tmp/kernel-kleber-57dc2e6-NQe1/build/drivers/nvme/host/multipath.c:15:0: /tmp/kernel-kleber-57dc2e6-NQe1/build/drivers/nvme/host/nvme.h: In function 'nvme_nvm_register_sysfs': /tmp/kernel-kleber-57dc2e6-NQe1/build/drivers/nvme/host/nvme.h:502:6: error: 'ctrl' undeclared (first use in this function) if (ctrl->subsys->cmic & (1 << 3)) ^ /tmp/kernel-kleber-57dc2e6-NQe1/build/drivers/nvme/host/nvme.h:502:6: note: each undeclared identifier is reported only once for each function it appears in [Fix] The culprit seems to be this patch: commit 993f70b886c0062fb5ec7c3c556d074bb3380b9d Author: Christoph Hellwig <h...@lst.de> Date: Tue Nov 20 16:57:54 2018 +0100 nvme: warn when finding multi-port subsystems without multipathing enabled BugLink: https://bugs.launchpad.net/bugs/1837161 [ Upstream commit 14a1336e6fff47dd1028b484d6c802105c58e2ee ] [...] --- a/drivers/nvme/host/nvme.h +++ b/drivers/nvme/host/nvme.h @@ -499,6 +499,9 @@ static inline int nvme_nvm_register(struct nvme_ns *ns, char *disk_name, static inline void nvme_nvm_unregister(struct nvme_ns *ns) {}; static inline int nvme_nvm_register_sysfs(struct nvme_ns *ns) { + if (ctrl->subsys->cmic & (1 << 3)) + dev_warn(ctrl->device, +"Please enable CONFIG_NVME_MULTIPATH for full support of multi-port devices.\n"); return 0; } which is adding the new lines to a different function than the original upstream commit: --- a/drivers/nvme/host/nvme.h +++ b/drivers/nvme/host/nvme.h @@ -531,6 +531,9 @@ static inline void nvme_mpath_check_last_path(struct nvme_ns *ns) static inline int nvme_mpath_init(struct nvme_ctrl *ctrl, struct nvme_id_ctrl *id) { + if (ctrl->subsys->cmic & (1 << 3)) + dev_warn(ctrl->device, +"Please enable CONFIG_NVME_MULTIPATH for full support of multi-port devices.\n"); return 0; } This patch was probably wrongly backported for bug #1837161 from linux-4.19.y stable and not needed since bionic/linux lacks commit 0d0b660f214d (nvme: add ANA support) which introduced nvme_mpath_init(). The fix is to revert this patch. [Test Case] Disabled kernel config CONFIG_NVM and compile the kernel. [Regression Potential] Low. The patch was wrongly backported and can be safely reverted. ** Affects: linux (Ubuntu) Importance: Undecided Status: Invalid ** Affects: linux-azure (Ubuntu) Importance: Undecided Status: Invalid ** Affects: linux (Ubuntu Xenial) Importance: Undecided Status: Invalid ** Affects: linux-azure (Ubuntu Xenial) Importance: Undecided Status: Confirmed ** Affects: linux (Ubuntu Bionic) Importance: Undecided Status: Confirmed ** Affects: linux-azure (Ubuntu Bionic) Importance: Undecided Status: Invalid ** Also affects: linux (Ubuntu Bionic) Importance: Undecided Status: New ** Also affects: linux-azure (Ubuntu) Importance: Undecided Status: New ** Also affects: linux (Ubuntu Xenial) Importance: Undecided Status: New ** Also affects: linux-azure (Ubuntu Xenial) Importance: Undecided Status: New ** Changed in: linux (Ubuntu Xenial) Status: New => Invalid ** Changed in: linux (Ubuntu) Status: New => Invalid ** Changed in: linux (Ubuntu Bionic) Status: New => Confirmed ** Changed in: linux-azure (Ubuntu) Status: New => Invalid ** Changed in: linux-azure (Ubuntu Xenial) Status: New => Confirmed ** Changed in: linux-azure (Ubuntu Bionic) Status: New => Invalid ** Description changed: [Impact] When compiling bionic linux 4.15.0-56.62 with CONFIG_NVM disabled, it fails with: make[5]: *** [drivers/nvme/host/core.o] Error 1 make[5]: *** Waiting for unfinished jobs.... In file included from /tmp/kernel-kleber-57dc2e6-NQe1/build/drivers/nvme/host/multipath.c:15:0: /tmp/kernel-kleber-57dc2e6-NQe1/build/drivers/nvme/host/nvme.h: In function 'nvme_nvm_register_sysfs': /tmp/kernel-kleber-57dc2e6-NQe1/build/drivers/nvme/host/nvme.h:502:6: error: 'ctrl' undeclared (first use in this function) - if (ctrl->subsys->cmic & (1 << 3)) - ^ + if (ctrl->subsys->cmic & (1 << 3)) + ^ /tmp/kernel-kleber-57dc2e6-NQe1/build/drivers/nvme/host/nvme.h:502:6: note: each undeclared identifier is reported only once for each function it appears in - [Fix] + [Fix] The culprit seems to be this patch: commit 993f70b886c0062fb5ec7c3c556d074bb3380b9d Author: Christoph Hellwig <h...@lst.de> Date: Tue Nov 20 16:57:54 2018 +0100 - nvme: warn when finding multi-port subsystems without multipathing enabled - - BugLink: https://bugs.launchpad.net/bugs/1837161 - - [ Upstream commit 14a1336e6fff47dd1028b484d6c802105c58e2ee ] + nvme: warn when finding multi-port subsystems without multipathing + enabled + + BugLink: https://bugs.launchpad.net/bugs/1837161 + + [ Upstream commit 14a1336e6fff47dd1028b484d6c802105c58e2ee ] [...] --- a/drivers/nvme/host/nvme.h +++ b/drivers/nvme/host/nvme.h @@ -499,6 +499,9 @@ static inline int nvme_nvm_register(struct nvme_ns *ns, char *disk_name, - static inline void nvme_nvm_unregister(struct nvme_ns *ns) {}; - static inline int nvme_nvm_register_sysfs(struct nvme_ns *ns) - { + static inline void nvme_nvm_unregister(struct nvme_ns *ns) {}; + static inline int nvme_nvm_register_sysfs(struct nvme_ns *ns) + { + if (ctrl->subsys->cmic & (1 << 3)) + dev_warn(ctrl->device, +"Please enable CONFIG_NVME_MULTIPATH for full support of multi-port devices.\n"); - return 0; - } + return 0; + } which is adding the new lines to a different function than the original upstream commit: --- a/drivers/nvme/host/nvme.h +++ b/drivers/nvme/host/nvme.h @@ -531,6 +531,9 @@ static inline void nvme_mpath_check_last_path(struct nvme_ns *ns) - static inline int nvme_mpath_init(struct nvme_ctrl *ctrl, - struct nvme_id_ctrl *id) - { + static inline int nvme_mpath_init(struct nvme_ctrl *ctrl, + struct nvme_id_ctrl *id) + { + if (ctrl->subsys->cmic & (1 << 3)) + dev_warn(ctrl->device, +"Please enable CONFIG_NVME_MULTIPATH for full support of multi-port devices.\n"); - return 0; - } + return 0; + } - This patch was probably wrongly backported from linux-4.19.y stable and - not needed since bionic/linux lacks commit 0d0b660f214d (nvme: add ANA - support) which introduced nvme_mpath_init(). The fix is to revert this - patch. - + This patch was probably wrongly backported for bug #1837161 from + linux-4.19.y stable and not needed since bionic/linux lacks commit + 0d0b660f214d (nvme: add ANA support) which introduced nvme_mpath_init(). + The fix is to revert this patch. [Test Case] Disabled kernel config CONFIG_NVM and compile the kernel. - - [Regression Potential] + [Regression Potential] Low. The patch was wrongly backported and can be safely reverted. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1838533 Title: Bionic linux 4.15.0-56.62 fails to build with CONFIG_NVM disabled To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1838533/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs