Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-67045

[RHEL-10] Remove CONFIG_NVME_MULTIPATH from RHEL

    • [RHEL-10] Remove CONFIG_NVME_MULTIPATH from RHEL
    • Hide
      1. Remove the kernel CONFIG_NVME_MULTIPATH kconfig option upstream
      2. The kernel compiles and runs after CONFIG_NVME_MULTIPATH is removed
      3. Toth dmmp and systemd work correctly with/out kernel support for CONFIG_NVME_MULTIPATH
      Show
      Remove the kernel CONFIG_NVME_MULTIPATH kconfig option upstream The kernel compiles and runs after CONFIG_NVME_MULTIPATH is removed Toth dmmp and systemd work correctly with/out kernel support for CONFIG_NVME_MULTIPATH
    • Red Hat Enterprise Linux
    • rhel-sst-storage-io
    • ssg_filesystems_storage_and_HA
    • 13
    • False
    • Hide

      None

      Show
      None

      Description

      In RHEL-10 we are no longer supporting DMMP multi-pathing with NVMe.  Therfore, we want to remove all of the code associated with CONFIG_NVME_MULTIPATH from upstream kernel, and modify all user level components that my be dependent upon the kernel configuration and sysfs variables.

       &dev_attr_ana_grpid.attr,
       &dev_attr_ana_state.attr,
      &subsys_attr_iopolicy.attr,

      The following kernel code paths will be affected.

      C symbol: CONFIG_NVME_MULTIPATH

        File       Function                  Line
      0 ioctl.c    <global>                   672 #ifdef CONFIG_NVME_MULTIPATH
      1 nvme.h     <global>                   189 #ifdef CONFIG_NVME_MULTIPATH
      2 nvme.h     <global>                   358 #ifdef CONFIG_NVME_MULTIPATH
      3 nvme.h     <global>                   442 #ifdef CONFIG_NVME_MULTIPATH
      4 nvme.h     <global>                   494 #ifdef CONFIG_NVME_MULTIPATH
      5 nvme.h     <global>                   523 #ifdef CONFIG_NVME_MULTIPATH
      6 nvme.h     <global>                   940 #ifdef CONFIG_NVME_MULTIPATH
      7 sysfs.c    <global>                   258 #ifdef CONFIG_NVME_MULTIPATH
      8 sysfs.c    <global>                   863 #ifdef CONFIG_NVME_MULTIPATH
      9 autoconf.h <global>                  1703 #define CONFIG_NVME_MULTIPATH 1
      a core.c     nvme_alloc_ns_head        3599 #ifdef CONFIG_NVME_MULTIPATH
      b core.c     nvme_handle_aen_notice    4457 #ifdef CONFIG_NVME_MULTIPATH
      c nvme.h     nvme_ns_head_multipath     508 return IS_ENABLED(CONFIG_NVME_MULTIPATH) && head->disk;
      d sysfs.c    nvme_ns_attrs_are_visible  285 #ifdef CONFIG_NVME_MULTIPATH

      C symbol: multipath

        File        Function                 Line
      0 multipath.c <global>                   12 bool multipath = true;
      1 multipath.c <global>                   13 module_param(multipath, bool, 0444);
      2 multipath.c <global>                   14 MODULE_PARM_DESC(multipath,
      3 nvme.h      <global>                  975 extern bool multipath;
      4 nvme.h      <global>                  985 #define multipath false
      5 core.c      nvme_init_ns_head        3751 if (!multipath)

      { 6 core.c      nvme_alloc_ns            3855 }

      else if (multipath) {
      7 multipath.c nvme_mpath_alloc_disk     630 !nvme_is_unique_nsid(ctrl, head) || !multipath)
      8 multipath.c nvme_mpath_init_identify 1037 if (!multipath || !ctrl->subsys ||

      What SSTs and Layered Product teams should review this?

      rhel-sst-storage-io
      rhel-sst-logical-storage
      systemd 

              bgurney@redhat.com Bryan Gurney
              jmeneghi@redhat.com John Meneghini
              Bryan Gurney Bryan Gurney
              Marco Patalano Marco Patalano
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated: