Re: ubi0 error: ubi_open_volume: cannot open device 0, volume 6, error -16

From: Zhihao Cheng
Date: Sun Mar 19 2023 - 23:18:36 EST


Hi,
Hi,

Sorry, for missing the subject last time.

On Wed, 15 Feb 2023 at 23:06, Pintu Agarwal <pintu.ping@xxxxxxxxx> wrote:

Hi,

We are seeing below "ubi errors" during booting.
Although this does not cause any functionality break, I am wondering
if there is any way to fix it ?
We are using Kernel 4.14 with UBI and squashfs (ubiblock) as volumes,
and with systemd.

Anybody have experienced the similar logs with ubi/squashfs and
figured out a way to avoid it ?
It seems like these open volumes are called twice, thus error -16
indicates (device or resource busy).
Or, are these logs expected because of squashfs or ubiblock ?
Or, do we need to add anything related to udev-rules ?

{
....
[ 129.394789] ubi0 error: ubi_open_volume: cannot open device 0,
volume 6, error -16
[ 129.486498] ubi0 error: ubi_open_volume: cannot open device 0,
volume 7, error -16
[ 129.546582] ubi0 error: ubi_open_volume: cannot open device 0,
volume 8, error -16
[ 129.645014] ubi0 error: ubi_open_volume: cannot open device 0,
volume 9, error -16
[ 129.676456] ubi0 error: ubi_open_volume: cannot open device 0,
volume 6, error -16
[ 129.706655] ubi0 error: ubi_open_volume: cannot open device 0,
volume 10, error -16
[ 129.732740] ubi0 error: ubi_open_volume: cannot open device 0,
volume 7, error -16
[ 129.811111] ubi0 error: ubi_open_volume: cannot open device 0,
volume 8, error -16
[ 129.852308] ubi0 error: ubi_open_volume: cannot open device 0,
volume 9, error -16
[ 129.923429] ubi0 error: ubi_open_volume: cannot open device 0,
volume 10, error -16

}


I see that the errors are reported by systemd-udevd and other processes.
Is there a way to fix it by some means ?
These logs actually consume lots of boot up time...

I guess that systemd-udevd and mtd_probe are racing to open the same volume with mode UBI_EXCLUSIVE or UBI_READWRITE, and these error messages are in expected. How about temporarily shutting down systemd-udevd during booting?