[dm-devel] [PATCH v5 16/22] multipath -u : set FIND_MULTIPATHS_WAIT_UNTIL from /dev/shm
Hannes Reinecke
hare at suse.de
Mon Apr 16 06:25:30 UTC 2018
On Sat, 14 Apr 2018 00:00:09 +0200
Martin Wilck <mwilck at suse.com> wrote:
> In "find_multipaths smart" mode, use time stamps under
> /dev/shm/multipath/find_multipaths to track waiting for multipath
> siblings. When a path is first encountered and is "maybe" multipath,
> create a file under /dev/shm, set its modification time to the expiry
> time of the timer, and set the FIND_MULTIPATHS_WAIT_UNTIL variable.
> On later calls, also set FIND_MULTIPATHS_WAIT_UNTIL to the expiry
> time (but don't change the time stamp) if it's not expired yet, or 0
> if it is expired. Set FIND_MULTIPATHS_WAIT_UNTIL even if enough
> evidence becomes available to decide if the path needs to be
> multipathed - this enables the udev rules to detect that this is a
> device a timer has been started for, and stop it. By using /dev/shm,
> we share information about "smart" timers between initrd and root
> file system, and thus only calculate the timeout once.
>
> Because we use major:minor to identify the devices in /dev/shm, and
> because a removed device might be replaced by a different one with
> the same major/minor number, add a rule to multipath.rules to remove
> the find_multipaths marker on remove uevents.
>
> Signed-off-by: Martin Wilck <mwilck at suse.com>
> ---
> libmultipath/file.c | 2 +-
> libmultipath/file.h | 1 +
> multipath/main.c | 132
> ++++++++++++++++++++++++++++++++++++++++++++++
> multipath/multipath.rules | 4 +- 4 files changed, 137
> insertions(+), 2 deletions(-)
>
Reviewed-by: Hannes Reinecke <hare at suse.com>
Cheers,
Hannes
More information about the dm-devel
mailing list