Re: [dm-devel] multipath tools racy on RUN file.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> I was looking at the multipath/main.c source file.  I notice at the
> beginning, it has code:
>
>         /*
>          * Don't run in parallel
>          */
...
>
> This is racy.  This isn't sufficient to guarantee that two multipath
> binaries will never run concurrently.  The multipathd could just happen
> to begin execution at the same instant an administrator runs multipath.
> Both could find the RUN file not present.  Both would then do the
> open(), and both would succeed.
>
Yes, I was aware of that but couldn't justify myself the need to serialize more
strictly. In other words, I was lazy to do better.

> Plus, you have the issue of removing this file when multipath exits.
> If multipath should exit abnormally (due to an exception for example),
> it leaves behind the RUN file.
>
Point taken : this is effectively a pain to keep track of this runfile

> I suggest doing something like:
>
...

ok merged

>
> There should be no need to remove the RUN file.  If it already exists
> when entering this code, there's no harm done.  If the binary exits
> abnormally, the record lock will be removed as part of the kernel's
> exit handling.
>
ok, done

> How does this sound to you?
>
seems good, thanks.

regards,
cvaroqui


[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux