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

lixiaokeng lixiaokeng at huawei.com
Thu Aug 12 12:42:18 UTC 2021



On 2021/8/12 19:09, Martin Wilck wrote:
> On Mo, 2021-07-26 at 11:28 -0500, Benjamin Marzinski wrote:
>> 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?
> 
> Ack. Lixiaokeng, can you answer Ben's question?
> 
> Regards,
> Martin
> 

Hi Martin, Ben:
I'm sorry for missing reply. The situation is the same as ben said.
The /var/run in compile machine is a directory, but it is a symlink
in using machine.

Thanks Ben's help again.

Regards,
Lixiaokeng





More information about the dm-devel mailing list