Skip to content
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

Request to add CONFIG_DM_MULTIPATH=m to standard RPI kernel builds #4886

Closed
satmandu opened this issue Feb 13, 2022 · 7 comments
Closed

Request to add CONFIG_DM_MULTIPATH=m to standard RPI kernel builds #4886

satmandu opened this issue Feb 13, 2022 · 7 comments

Comments

@satmandu
Copy link

satmandu commented Feb 13, 2022

Describe the bug

(This is a request, not a bug.)

Background:
The CONFIG_DM_MULTIPATH kernel option enables the dm_multipath driver, which enables Multipath I/O for devices such as disks. multipath-tools Is for instance a set of tools used to handle such devices which depends upon the availability of the aforementioned driver. While this may not be as important now to most RPI4 users, with the increasing use of the compute module and various link technologies CM4 boards enable, it is reasonable for this to be available for people to experiment with.

Issue:
The Ubuntu-server 22.04 LTS release has changed its software package configuration to have multipath-tools installed by default. (This may be a new requirement.)

I use both ubuntu and Raspi-OS, and use the rpi-firmware kernels for both. (This both lets me help test newer rpi-firmware kernels and also lets me sync my userspace with other machines I run.)

Not having the module available results in these errors:

Feb 13 15:36:44 rpi4b modprobe[4043]: modprobe: WARNING: Module dm-multipath not found in directory /lib/modules/5.15.21-v8+
Feb 13 15:36:44 rpi4b multipathd[4044]: --------start up--------
Feb 13 15:36:44 rpi4b multipathd[4044]: read /etc/multipath.conf
Feb 13 15:36:44 rpi4b multipathd[4044]: path checkers start up
Feb 13 15:36:44 rpi4b multipathd[4044]: failed to increase buffer size
Feb 13 15:36:44 rpi4b multipathd[4044]: DM multipath kernel driver not loaded
Feb 13 15:36:44 rpi4b multipathd[4044]: DM multipath kernel driver not loaded
Feb 13 15:36:44 rpi4b systemd[1]: multipathd.service: Main process exited, code=exited, status=1/FAILURE
Feb 13 15:36:44 rpi4b systemd[1]: multipathd.service: Failed with result 'exit-code'.
Feb 13 15:36:44 rpi4b systemd[1]: Failed to start Device-Mapper Multipath Device Controller.
dpkg: error processing package multipath-tools (--configure):
 installed multipath-tools package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of ubuntu-server-raspi:
 ubuntu-server-raspi depends on multipath-tools; however:

The current rpi-firmware kernels do not have that set for build:

modprobe configs
zcat /proc/config.gz  | grep CONFIG_DM_MULTIPATH
# CONFIG_DM_MULTIPATH is not set

On ubuntu kernels this is set:

grep CONFIG_MD_MULTIPATH /boot/config-5.15.0-1002-raspi
CONFIG_MD_MULTIPATH=m

Ask:
Is there any chance we could have that built as a module for the kernels available via https://github.com/raspberrypi/rpi-firmware ?

Steps to reproduce the behaviour

Install ubuntu 21.10 on a rpi4b.

Install rpi-firmware kernel using my own script (happy to post it.)

Update to 22.04.

Watch breakage happen:

Errors were encountered while processing:
 multipath-tools
 ubuntu-server-raspi
 ubuntu-server
needrestart is being skipped since dpkg has failed
E: Sub-process /usr/bin/dpkg returned an error code (1)

Device (s)

Raspberry Pi 4 Mod. B

System

satadru@rpi4b ~$ cat /etc/rpi-issue
cat: /etc/rpi-issue: No such file or directory
1satadru@rpi4b ~$ vcgencmd version
Feb  4 2022 12:05:40
Copyright (c) 2012 Broadcom
version a26faf97e3bf76bcc23949d7cdab2f96f399a0c3 (clean) (release) (start)
satadru@rpi4b ~$ uname -a
Linux rpi4b 5.15.21-v8+ #1523 SMP PREEMPT Mon Feb 7 18:36:51 GMT 2022 aarch64 aarch64 aarch64 GNU/Linux
satadru@rpi4b ~$

Logs

No response

Additional context

The quick and dirty resolution is to do this:

sudo apt remove  multipath-tools  ubuntu-server-raspi  ubuntu-server

I'd like to avoid that...

@pelwell
Copy link
Contributor

pelwell commented Feb 14, 2022

The relevant Kconfig file says:

config MD_MULTIPATH
	tristate "Multipath I/O support (deprecated)"
	depends on BLK_DEV_MD
	help
	  MD_MULTIPATH provides a simple multi-path personality for use
	  the MD framework.  It is not under active development.  New
	  projects should consider using DM_MULTIPATH which has more
	  features and more testing.

	  If unsure, say N.

Note that the warning messages mentions dm-multipath, not md-multipath. Have you tried enabling CONFIG_DM_MULTIPATH=m instead?

Also, a brief explanation of why users might want to use multipath tools wouldn't go amiss.

@satmandu satmandu changed the title Request to add CONFIG_MD_MULTIPATH=m to standard RPI kernel builds Request to add CONFIG_DM_MULTIPATH=m to standard RPI kernel builds Feb 14, 2022
@satmandu
Copy link
Author

Note that the warning messages mentions dm-multipath, not md-multipath.

Mea culpa. It is indeed dm-multipath.

I'll of course add an explainer.

@dakaix
Copy link

dakaix commented Jan 9, 2023

Would also love to see this included, I've just deployed a Microk8s cluster on Raspbian backed by iSCSI, and didn't find out until several hours in that multipath wasn't available! Would rather not need to compile a custom kernel everytime I need to apply some updates.

pelwell added a commit that referenced this issue Jan 11, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@pelwell
Copy link
Contributor

pelwell commented Jan 11, 2023

That's done - see 82efd01.

Sorry, @satmandu, this one got forgotten. In future, feel free to nudge us/me.

pelwell added a commit that referenced this issue Jan 11, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
pelwell added a commit that referenced this issue Jan 11, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
pelwell added a commit that referenced this issue Jan 12, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Jan 12, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Jan 12, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix added a commit to raspberrypi/firmware that referenced this issue Jan 13, 2023
See: raspberrypi/linux#5306

kernel: drivers: media: i2c: imx708: Fix crop information
See: raspberrypi/linux#5312

kernel: drm_probe_helper: Cancel previous job before starting new one
See: raspberrypi/linux#5314

kernel: drm/vc4: bo: Fix drmm_mutex_init memory hog
See: raspberrypi/linux#5313

kernel: configs: Add DM_MULTIPATH=m
See: See: raspberrypi/linux#4886

kernel: rtc: rv3028: Fix backup-switchover-mode crash
kernel: rtc: rv3028: Mirror BSM and TCE/TCR to EEPROM
See: raspberrypi/linux#2912

kernel: ax25: Fix ax25 session cleanup problems
popcornmix added a commit to raspberrypi/rpi-firmware that referenced this issue Jan 13, 2023
See: raspberrypi/linux#5306

kernel: drivers: media: i2c: imx708: Fix crop information
See: raspberrypi/linux#5312

kernel: drm_probe_helper: Cancel previous job before starting new one
See: raspberrypi/linux#5314

kernel: drm/vc4: bo: Fix drmm_mutex_init memory hog
See: raspberrypi/linux#5313

kernel: configs: Add DM_MULTIPATH=m
See: See: raspberrypi/linux#4886

kernel: rtc: rv3028: Fix backup-switchover-mode crash
kernel: rtc: rv3028: Mirror BSM and TCE/TCR to EEPROM
See: raspberrypi/linux#2912

kernel: ax25: Fix ax25 session cleanup problems
popcornmix pushed a commit that referenced this issue Jan 16, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Jan 16, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Jan 16, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Jan 18, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
naushir pushed a commit to naushir/linux that referenced this issue Jan 23, 2023
"Allow volume managers to support multipath hardware."

See: raspberrypi#4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Jan 23, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Jan 24, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@satmandu
Copy link
Author

satmandu commented Jan 25, 2023

I don't think this is getting set in the rpi-firmware next branch kernels? I keep seeing commit messages which mention it getting added to the kernel configs. Did 5ae8b44 finally fix that?

satadru@rpi4b ~$ uname -a
Linux rpi4b 6.1.8-v8+ #1622 SMP PREEMPT Tue Jan 24 11:39:23 GMT 2023 aarch64 aarch64 aarch64 GNU/Linux
satadru@rpi4b ~$ uname -a
Linux rpi4b 6.1.8-v8+ #1622 SMP PREEMPT Tue Jan 24 11:39:23 GMT 2023 aarch64 aarch64 aarch64 GNU/Linux
satadru@rpi4b ~$ sudo modprobe configs
satadru@rpi4b ~$ zcat /proc/config.gz  | grep CONFIG_MD_MULTIPATH
# CONFIG_MD_MULTIPATH is not set

Edit: worth noting that I had CONFIG_DM_MULTIPATH misspelled above... I blame medical school...

@pelwell
Copy link
Contributor

pelwell commented Jan 25, 2023

Yes:

pi@raspberrypi:~$ sudo modprobe configs
pi@raspberrypi:~$ zcat /proc/config.gz  | grep CONFIG_MD_MULTIPATH
# CONFIG_MD_MULTIPATH is not set

But:

pi@raspberrypi:~$ zcat /proc/config.gz  | grep CONFIG_DM_MULTIPATH
CONFIG_DM_MULTIPATH=m
# CONFIG_DM_MULTIPATH_QL is not set
# CONFIG_DM_MULTIPATH_ST is not set
# CONFIG_DM_MULTIPATH_HST is not set
# CONFIG_DM_MULTIPATH_IOA is not set

popcornmix pushed a commit that referenced this issue Jan 30, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Feb 1, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@satmandu satmandu closed this as completed Feb 1, 2023
@satmandu
Copy link
Author

satmandu commented Feb 1, 2023

I verified that this works with the official 6.1.9-v8+ kernel packaged with my https://gist.github.com/satmandu/a507c59d84737f6d29ff353395819d51 script, installed on ubuntu 23.04/lunar.

Running sudo apt install multipath-tools ubuntu-server caused no problems.

popcornmix pushed a commit that referenced this issue Feb 6, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Feb 6, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Feb 10, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Mar 10, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Mar 14, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Mar 14, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Mar 21, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Mar 21, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Mar 24, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Mar 28, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Apr 11, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Apr 11, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Apr 17, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Apr 17, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Apr 24, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Apr 24, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue May 2, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue May 2, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue May 11, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue May 11, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue May 24, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue May 24, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue May 30, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue May 30, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Jun 7, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Noltari pushed a commit to Noltari/rpi-linux that referenced this issue Jun 8, 2023
"Allow volume managers to support multipath hardware."

See: raspberrypi#4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Jun 12, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Jun 16, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Jun 22, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Jun 30, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Jul 3, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Jul 10, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
popcornmix pushed a commit that referenced this issue Jul 14, 2023
"Allow volume managers to support multipath hardware."

See: #4886

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants