[dm-devel] [Question] multipathd.service start failed when /var/run isn't mount

Benjamin Marzinski bmarzins at redhat.com
Mon Jul 26 16:28:27 UTC 2021


On Mon, Jul 26, 2021 at 08:22:49PM +0800, lixiaokeng wrote:
> 
> >> After sdb mounted to /var, we can start multipathd service successfully.
> > 
> > But when the binaries were compiled, if /var/run existed and was a
> > symlink in your build environment, then RUN should equal "run", and
> > multipath should should be using /run instead of /var/run, right?
> > 
> > This is why I asked what multipath packages are you using.
> > 
> This problem is found in 0.7.7.

Sorry. I wasn't very clear with what I was asking for.  Unless I'm
missing something here, if multipathd is trying to use /var/run, that
means that when the multipathd binary was compiled, it was compiled on a
machine where /var/run was not a symlink. 

So, I'm wondering where your multipathd binary got compiled. Are you
using a packaged version from a distribution like RHEL, SLES, Fedora,
Ubuntu, etc? Did you compile it yourself?

When I run multipathd under strace, I can see:

openat(AT_FDCWD, "/run/multipathd.pid", O_WRONLY|O_CREAT, 0644) = 3

The multipathd binary I'm using was compiled on a machine where /var/run
is a symlink to /run, so multipathd directly uses /run, instead of using
/var/run. I'm assuming that whatever machine your multipathd binary was
compiled on, /var/run was a directory. Do you know if that's possible?

-Ben

> 
> Regards, Lixiaokeng




More information about the dm-devel mailing list