On Fri, Nov 19, 2021 at 12:13:25AM +0100, mwi...@suse.com wrote:
> From: Martin Wilck
>
> Coverity needs tainted values limited by constant expressions.
>
> Signed-off-by: Martin Wilck
> ---
> libmultipath/prioritizers/alua_rtpg.c | 13 ++--
> libmultipath/prioritizers/alua_spc3.h | 30
On Fri, Nov 19, 2021 at 12:13:24AM +0100, mwi...@suse.com wrote:
> From: Martin Wilck
>
> By using the strbuf API, the code gets more readable, as we need
> less output size checks.
>
> While at it, avoid a possible crash by passing a NULL pointer
> to memchr().
>
> Signed-off-by: Martin Wilck
On Fri, Nov 19, 2021 at 12:13:22AM +0100, mwi...@suse.com wrote:
> From: Martin Wilck
>
> Check offsets and other obvious errors in the VPD83 data.
>
> The original reason to do this was to fix "tained scalar"
> warnings from coverity. But this doesn't suffice for coverity
> without using a cons
On Sat, Nov 27, 2021 at 04:19:26PM +0100, mwi...@suse.com wrote:
> From: Martin Wilck
>
> send_packet() may busy-loop. By polling for POLLOUT, we can
> avoid that, even if it's very unlikely in practice.
>
> Signed-off-by: Martin Wilck
Reviewed-by: Benjamin Marzins
On Wed, Nov 24, 2021 at 10:20:53PM +0100, Martin Wilck wrote:
> On Wed, 2021-11-24 at 14:41 -0600, Benjamin Marzinski wrote:
> > On Thu, Nov 18, 2021 at 11:57:55PM +0100, mwi...@suse.com wrote:
> > > From: Martin Wilck
> > >
> > > Have struct mutex_l
On Fri, Nov 26, 2021 at 03:34:59PM +0100, Martin Wilck wrote:
> On Wed, 2021-11-24 at 18:38 -0600, Benjamin Marzinski wrote:
> > On Thu, Nov 18, 2021 at 11:58:21PM +0100, mwi...@suse.com wrote:
> > > From: Martin Wilck
> > >
> > > This patch s
On Thu, Nov 18, 2021 at 11:58:22PM +0100, mwi...@suse.com wrote:
> From: Martin Wilck
>
> The previous patches added the state machine and the timeout handling,
> but there was no wakeup mechanism for the uxlsnr for cases where
> client connections were waiting for the vecs lock.
>
> This patch
byte.
>
Reviewed-by: Benjamin Marzinski
> Signed-off-by: Martin Wilck
> ---
> multipathd/uxlsnr.c | 17 +
> 1 file changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/multipathd/uxlsnr.c b/multipathd/uxlsnr.c
> index 24db377..6355279 100644
> --- a/
On Thu, Nov 18, 2021 at 11:58:25PM +0100, mwi...@suse.com wrote:
> From: Martin Wilck
>
> The list of clients is never changed anywhere except in
> uxsock_listen(). No need to lock.
>
> Signed-off-by: Martin Wilck
Reviewed-by: Benjamin Marzinski
> ---
>
ugh
from CLT_WORK to CLT_SEND, the client hasn't checked for a POLLOUT
revent, so it's possible to block here. I'm not sure that we care.
If not
Reviewed-by: Benjamin Marzinski
> Signed-off-by: Martin Wilck
> ---
> multipathd/uxlsnr.c | 35 ++
() will then cause a timeout
> reply to be sent to the client. This is more client-friendly
> as the client timing out without receiving a reply.
>
Reviewed-by: Benjamin Marzinski
> Signed-off-by: Martin Wilck
> ---
> multipathd/uxlsnr.c | 57
On Thu, Nov 18, 2021 at 11:58:21PM +0100, mwi...@suse.com wrote:
> From: Martin Wilck
>
> This patch sets up the bulk of the state machine. client_state_machine()
> is called in a loop, proceeding from state to state until it needs
> to poll for input or wait for a lock, in which case it returns
confusion and misleading
> error messages. No cli_handler returns negative values.
>
> Note: with this patch applied, clients may hang and time out if
> the handler fails to acquire the vecs lock. This will be fixed in the
> follow-up patch "multipathd: uxlsnr: add idle notificati
he same handler multiple
> times would be a bug which is tested with assert().
>
> Signed-off-by: Martin Wilck
Reviewed-by: Benjamin Marzinski
> ---
> multipathd/cli.c | 95
> multipathd/cli.h | 7 ++--
> 2 files changed, 19 inse
fter this change, the only caller of set_config_state() is
> checkerloop(). Waking up every second just to see that DAEMON_RUNNING
> couldn't be set makes no sense. Therefore set_config_state() is
> changed to wait "forever", or until shutdown is requested. Unless
> multipa
that set_wakeup_fn was added
in 10.0.0, instead of 9.2.0, which is a version that never actually
existed, but I don't think that's going to cause any problems so,
Reviewed-by: Benjamin Marzinski
> ---
> libmultipath/libmultipath.version | 13 +++--
> libmultipath/lock.
On Tue, Nov 23, 2021 at 11:05:20AM +, Martin Wilck wrote:
> Hi Ben,
>
> some more thoughts about the ro handling.
>
> On Mon, 2021-11-22 at 20:39 +0100, Martin Wilck wrote:
> > On Mon, 2021-11-22 at 11:43 -0600, Benjamin Marzinski wrote:
> > > On Mon, Nov 22, 20
On Mon, Nov 22, 2021 at 04:48:06PM +, Martin Wilck wrote:
> On Mon, 2021-11-22 at 09:35 -0600, Benjamin Marzinski wrote:
> > On Fri, Nov 19, 2021 at 09:33:39PM +, Martin Wilck wrote:
> > > On Thu, 2021-11-18 at 16:47 -0600, Benjamin Marzinski wrote:
> > > >
On Mon, Nov 22, 2021 at 12:01:52PM +0800, lixiaokeng wrote:
> udev_device_* may return NULL, check it.
>
> Signed-off-by: Lixiaokeng
Reviewed-by: Benjamin Marzinski
> ---
> libmultipath/discovery.c| 8 +---
> libmultipath/foreign/nvme.c | 4 +++-
> libmultipa
On Fri, Nov 19, 2021 at 09:33:39PM +, Martin Wilck wrote:
> On Thu, 2021-11-18 at 16:47 -0600, Benjamin Marzinski wrote:
> > A mulitpath device can only be reloaded read/write when all paths are
> > read/write. Also, whenever a read-only device is rescanned, the scsi
> >
another uevent with DISK_RO=1. These uevents cause
pointless reloads when read-only paths are rescanned. To avoid this,
check to see if all paths are read/write before changing a multipath
device from read-only to read/write.
Signed-off-by: Benjamin Marzinski
---
libmultipath/libmultipath.version | 5
On Tue, Nov 16, 2021 at 10:01:15PM +0800, lixiaokeng wrote:
> The update_map will frequently be called and there will be
> unnecessary checks of reseravtion. We add prflag to path
> to avoid this.
>
> The pp->state changes from others to up or ghost, the
> mpath_pr_event_handle should be called. T
On Thu, Nov 18, 2021 at 02:56:15PM +, Martin Wilck wrote:
> On Wed, 2021-11-17 at 18:07 -0600, Benjamin Marzinski wrote:
> > This patchset is supposed to replace Martin's
> >
> > multipathd: add "force_reconfigure" option
> >
> > patch from
On Tue, Nov 16, 2021 at 10:00:53PM +0800, lixiaokeng wrote:
> In _DEBUG_ mode, MALLOC/STRDUP/REALLOC and FREE will record
> the memory usage. Match them.
This looks fine, but personally, I'd rather just have all the DEBUG
memory code removed. If people want to check memory usage, there's
always va
On Tue, Nov 16, 2021 at 09:59:41PM +0800, lixiaokeng wrote:
> MALLOC will set memory zero. memset is unnecessary.
> Remove it.
>
> Signed-off-by: Lixiaokeng
Reviewed-by: Benjamin Marzinski
> ---
> libmultipath/log.c | 1 -
> multipathd/waiter.c | 1 -
> 2 fi
On Tue, Nov 16, 2021 at 10:00:09PM +0800, lixiaokeng wrote:
> arg will be free by cleanup_charp. FREE(args)
> is unnecessary before return. Remove it.
>
> Signed-off-by: Lixiaokeng
Reviewed-by: Benjamin Marzinski
> ---
> libmultipath/prioritizers/weightedpath.c | 3 +--
&g
With this commit, multipathd no longer defaults to full reconfigures for
the "reconfigure" command and the HUP signal. The default is a weak
reconfigure. A new command, "reconfigure all", has been added to do
a full reconfigure.
Signed-off-by: Benjamin Marzinski
-
the initial reconfigure, ev_add_map(), and
missing_uev_wait_tick() request weak reconfigures. A future patch will
enable users to control what kind of reconfigures happen.
Signed-off-by: Benjamin Marzinski
---
libmultipath/configure.c | 2 +-
multipathd/cli_handlers.c | 2 +-
multipathd/main.c
Only multipathd/main.c uses it.
Signed-off-by: Benjamin Marzinski
Reviewed-by: Martin Wilck
---
multipathd/main.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/multipathd/main.h b/multipathd/main.h
index 23ce919e..a1697a74 100644
--- a/multipathd/main.h
+++ b/multipathd/main.h
@@ -39,7
delayed_reconfig was inside the config struct, but it wasn't updated
during an RCU write section, so there's no synchronization on it.
Instead, pull it out of the config structure, and use the config_lock
to synchronize it.
Signed-off-by: Benjamin Marzinski
---
libmp
ggested by Martin Wilck:
0001: update libmultipath.version to handle ABI change in struct config
0003: Clarify commit message
Benjamin Marzinski (4):
multipathd: move delayed_reconfig out of struct config
multipathd: remove reconfigure from header file.
multipathd: pass in the type of
On Wed, Nov 17, 2021 at 08:50:55PM +, Martin Wilck wrote:
> On Wed, 2021-11-17 at 14:33 -0600, Benjamin Marzinski wrote:
> >
> > Changes from v1 as suggested by Martin Wilck:
> >
> > 0001: update libmultipath.version to handle ABI change in struct
> > config
The path already must have a udev device at this point, so it just
needs to copy the sysname from it.
Signed-off-by: Benjamin Marzinski
Reviewed-by: Martin Wilck
---
libmultipath/structs_vec.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/libmultipath/structs_vec.c b
ck to where it could be used to reload the device.
Multipath devices now remember if they need to be reloaded, and if so,
force_reload is set in select_action(). This means that even when
configure is called with FORCE_RELOAD_WEAK, these devices will still be
reloaded.
Signed-off-by: Benjamin Marz
before starting.
Signed-off-by: Benjamin Marzinski
Reviewed-by: Martin Wilck
---
multipathd/multipathd.service | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service
index 0b2ac814..87cb5349 100644
--- a/multipathd
s
on these devices, multipathd will finish initializing them, and remove
them if necessary.
Signed-off-by: Benjamin Marzinski
---
libmultipath/structs.h | 6 +
libmultipath/structs_vec.c | 5 ++--
multipathd/cli_handlers.c | 35 --
multipathd/main.c | 51 ++
When new paths are added in update_pathvec_from_dm(). If they can't get
their regular wwid, they shouldn't try the getting the fallback wwid,
and should just copy the wwid of the multipath device.
Signed-off-by: Benjamin Marzinski
Reviewed-by: Martin Wilck
---
libmultipath/discove
From: Martin Wilck
Enable printing pp->initialized with 'multipathd show paths format "%I"'.
This is supposed to go on top of Ben's "multipathd: remove udev settle
dependency" series, to simplify checking multipathd's state.
Reviewed-by: Benjamin
Avoiding this corner case simplifies a future patch
Signed-off-by: Benjamin Marzinski
Reviewed-by: Martin Wilck
---
libmultipath/structs_vec.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/libmultipath/structs_vec.c b/libmultipath/structs_vec.c
index d363e7f6..fb26437a
If a partial path appears and is not fully initialized within
180 seconds, trigger a uevent. If the udev device is not initialized
trigger an add event. Otherwise, trigger a change event.
Signed-off-by: Benjamin Marzinski
---
libmultipath/libmultipath.version | 2 +-
libmultipath/structs.h
The only reason multipath is monitoring an INIT_PARTIAL path is because
it was discovered in a multipath device table. If it stops being part
of a multipath device before it gets fully initialized, drop it.
Signed-off-by: Benjamin Marzinski
Reviewed-by: Martin Wilck
---
libmultipath
INIT_PARTIAL for over 3 minutes,
trigger a uevent on it. This is kind of a long waiting period, but I
want to avoid firing off another uevent in cases where the problem is
that udev is in the middle of a uevent storm, and the expected event
is delayed.
0009: Repost of Martin's new init stat
On Wed, Nov 17, 2021 at 08:50:55PM +, Martin Wilck wrote:
> On Wed, 2021-11-17 at 14:33 -0600, Benjamin Marzinski wrote:
> >
> > Changes from v1 as suggested by Martin Wilck:
> >
> > 0001: update libmultipath.version to handle ABI change in struct
> > config
the initial reconfigure, ev_add_map(), and
missing_uev_wait_tick() request weak reconfigures. A future patch will
enable users to control what kind of reconfigures happen.
Signed-off-by: Benjamin Marzinski
---
libmultipath/configure.c | 2 +-
multipathd/cli_handlers.c | 2 +-
multipathd/main.c
With this commit, multipathd no longer defaults to full reconfigures for
the "reconfigure" command and the HUP signal. The default is a weak
reconfigure. A new command, "reconfigure all", has been added to do
a full reconfigure.
Signed-off-by: Benjamin Marzinski
Revie
delayed_reconfig was inside the config struct, but it wasn't updated
during an RCU write section, so there's no synchronization on it.
Instead, pull it out of the config structure, and use the config_lock
to synchronize it.
Signed-off-by: Benjamin Marzinski
---
libmp
ggested by Martin Wilck:
0001: update libmultipath.version to handle ABI change in struct config
0003: Clarify commit message
Benjamin Marzinski (4):
multipathd: move delayed_reconfig out of struct config
multipathd: remove reconfigure from header file.
multipathd: pass in the type of
Only multipathd/main.c uses it.
Signed-off-by: Benjamin Marzinski
Reviewed-by: Martin Wilck
---
multipathd/main.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/multipathd/main.h b/multipathd/main.h
index 23ce919e..a1697a74 100644
--- a/multipathd/main.h
+++ b/multipathd/main.h
@@ -39,7
On Fri, Nov 12, 2021 at 10:05:51PM +0100, mwi...@suse.com wrote:
> From: Martin Wilck
>
> This file is necessary to run clangd as helper for an IDE, e.g.
> with emacs lsp-mode.
>
> Signed-off-by: Martin Wilck
Reviewed-by: Benjamin Marzinski
> ---
> .gitignore
ect and
> track library version changes.
>
> To check for differences, run "make abi" on some branch, rename the
> "abi" directory to "reference-abi", checkout a different branch,
> and run "make abi-test".
>
> Signed-off-by: Martin Wi
".
>
> Signed-off-by: Martin Wilck
Reviewed-by: Benjamin Marzinski
> ---
> .github/workflows/abi.yaml | 54 ++
> 1 file changed, 54 insertions(+)
> create mode 100644 .github/workflows/abi.yaml
>
> diff --git a/.github/work
On Tue, Nov 16, 2021 at 09:59:14PM +0800, lixiaokeng wrote:
> udev_device_* may return NULL, check it.
>
> Signed-off-by: Lixiaokeng
> ---
> libmultipath/discovery.c| 8 +---
> libmultipath/foreign/nvme.c | 4 +++-
> libmultipath/util.c | 10 +-
> 3 files changed, 17 in
On Mon, Nov 15, 2021 at 04:23:54PM +, Martin Wilck wrote:
> On Mon, 2021-09-20 at 18:21 -0500, Benjamin Marzinski wrote:
> > This code doesn't actually change how multipathd reconfigures. It still
> > does a weak reconfigure at the start, and full reconfigures later.
>
On Mon, Nov 15, 2021 at 04:27:40PM +, Martin Wilck wrote:
> On Mon, 2021-11-15 at 17:10 +0100, Martin Wilck wrote:
> > On Mon, 2021-09-20 at 18:21 -0500, Benjamin Marzinski wrote:
> > > delayed_reconfig was inside the config struct, but it wasn't updated
> > >
do_set_int and set_uint return 1 for invalid values. This can cause
multipath to fail completely, while reading the config. The config
handlers should only return a non-zero value if there is an internal
error, not if there is just an invalid value.
Signed-off-by: Benjamin Marzinski
---
Notes
This will make it possible for the keyword handlers to print more useful
warning messages. It will be used by future patches.
Signed-off-by: Benjamin Marzinski
Reviewed-by: Martin Wilck
---
libmultipath/dict.c | 143 +-
libmultipath/parser.c | 3
Don't assume that parsing failed on multipath.conf
Signed-off-by: Benjamin Marzinski
Reviewed-by: Martin Wilck
---
libmultipath/parser.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libmultipath/parser.c b/libmultipath/parser.c
index ebe1cbd9..d5595fb0 100644
_int() is 0, and
covert that to the special case.
Benjamin Marzinski (9):
libmultipath: add section name to invalid keyword output
libmultipath: use typedef for keyword handler function
libmultipath: print the correct file when parsing fails
libmultipath: pass file and line number to
aracter in file/directory names. This patch adds seperate handlers for
these three cases. If a config line is invalid, these handlers retain
the existing config string, if any.
Signed-off-by: Benjamin Marzinski
Reviewed-by: Martin Wilck
---
libmultipath/d
Don't keep writing out the function type.
Signed-off-by: Benjamin Marzinski
Reviewed-by: Martin Wilck
---
libmultipath/parser.c | 6 +++---
libmultipath/parser.h | 15 ++-
2 files changed, 9 insertions(+), 12 deletions(-)
diff --git a/libmultipath/parser.c b/libmultipath/par
If a value outside of the valid range is passed to set_int, it caps the
value at appropriate limit, and issues a warning.
Signed-off-by: Benjamin Marzinski
Reviewed-by: Martin Wilck
---
libmultipath/dict.c | 121 +++-
1 file changed, 75 insertions(+), 46
Split the code that does the actual value parsing out of set_int(), into
a helper function, do_set_int(), so that it can be used by other
handlers. These functions no longer set the config value at all, when
they have invalid input.
Signed-off-by: Benjamin Marzinski
Reviewed-by: Martin Wilck
ff-by: Benjamin Marzinski
Reviewed-by: Martin Wilck
---
libmultipath/dict.c | 73 +++--
1 file changed, 51 insertions(+), 22 deletions(-)
diff --git a/libmultipath/dict.c b/libmultipath/dict.c
index 68647061..c534d703 100644
--- a/libmultipath/dict.c
Having multipath able to select pathnames for the files and directories
it needs causes unnecessary maintainer headaches. Mark these as
deprecated, but still support them for now.
Signed-off-by: Benjamin Marzinski
---
libmultipath/dict.c| 19 +++
multipath/multipath.conf
with a closing brace). This can confuse users. To make
this easier to understand, when multipath prints an invalid keyword
message, it now also prints the current section name, which can give
users a hint that they didn't end the previous section.
Signed-off-by: Benjamin Marzinski
Reviewed-
On Thu, Nov 11, 2021 at 11:44:44AM +, Martin Wilck wrote:
> On Wed, 2021-11-10 at 19:06 -0600, Benjamin Marzinski wrote:
> > Having multipath able to select pathnames for the files and
> > directories
> > it needs causes unnecessary maintainer headaches. Mark these as
>
with a closing brace). This can confuse users. To make
this easier to understand, when multipath prints an invalid keyword
message, it now also prints the current section name, which can give
users a hint that they didn't end the previous section.
Signed-off-by: Benjamin Marzinski
Reviewed-
Don't keep writing out the function type.
Signed-off-by: Benjamin Marzinski
Reviewed-by: Martin Wilck
---
libmultipath/parser.c | 6 +++---
libmultipath/parser.h | 15 ++-
2 files changed, 9 insertions(+), 12 deletions(-)
diff --git a/libmultipath/parser.c b/libmultipath/par
ff-by: Benjamin Marzinski
---
libmultipath/dict.c | 73 +++--
1 file changed, 51 insertions(+), 22 deletions(-)
diff --git a/libmultipath/dict.c b/libmultipath/dict.c
index 3212d14c..37347482 100644
--- a/libmultipath/dict.c
+++ b/libmultipath/dict.c
@@ -199,8 +1
aracter in file/directory names. This patch adds seperate handlers for
these three cases. If a config line is invalid, these handlers retain
the existing config string, if any.
Signed-off-by: Benjamin Marzinski
---
libmultipath/dict.c | 88 +++--
1 file c
Split the code that does the actual value parsing out of set_int(), into
a helper function, do_set_int(), so that it can be used by other
handlers. These functions no longer set the config value at all, when
they have invalid input.
Signed-off-by: Benjamin Marzinski
---
libmultipath/dict.c | 92
Having multipath able to select pathnames for the files and directories
it needs causes unnecessary maintainer headaches. Mark these as
deprecated, but still support them for now.
Signed-off-by: Benjamin Marzinski
---
libmultipath/dict.c| 40
This will make it possible for the keyword handlers to print more useful
warning messages. It will be used by future patches.
Signed-off-by: Benjamin Marzinski
---
libmultipath/dict.c | 143 +-
libmultipath/parser.c | 3 +-
libmultipath/parser.h | 2
Don't assume that parsing failed on multipath.conf
Signed-off-by: Benjamin Marzinski
Reviewed-by: Martin Wilck
---
libmultipath/parser.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libmultipath/parser.c b/libmultipath/parser.c
index ebe1cbd9..d5595fb0 100644
If a value outside of the valid range is passed to set_int, it caps the
value at appropriate limit, and issues a warning.
Signed-off-by: Benjamin Marzinski
---
libmultipath/dict.c | 121 +++-
1 file changed, 75 insertions(+), 46 deletions(-)
diff --git a
. They are still used for now.
0007: functions that accept "0" as a special input value will now
check if the integer gotten by do_set_int() is 0, and
covert that to the special case.
Benjamin Marzinski (9):
libmultipath: add section name to invalid keyword output
libmult
On Mon, Nov 08, 2021 at 04:55:37PM +, Martin Wilck wrote:
> On Mon, 2021-11-08 at 10:29 -0600, Benjamin Marzinski wrote:
> > On Fri, Nov 05, 2021 at 11:20:01PM +, Martin Wilck wrote:
> > > > 1: udev hasn't gotten an event for a device
> > >
> > &
On Fri, Nov 05, 2021 at 11:20:01PM +, Martin Wilck wrote:
> On Fri, 2021-11-05 at 16:49 -0500, Benjamin Marzinski wrote:
> > On Fri, Nov 05, 2021 at 10:55:11AM +, Martin Wilck wrote:
> > > Hi Ben,
> > >
> > > On Thu, 2021-11-04 at 23:10 +0100, Martin
On Fri, Nov 05, 2021 at 12:03:12PM +0100, mwi...@suse.com wrote:
> From: Martin Wilck
Reviewed-by: Benjamin Marzinski
>
> Enable printing pp->initialized with 'multipathd show paths format "%I"'.
> This is supposed to go on top of Ben's "multipathd:
On Fri, Nov 05, 2021 at 12:01:27PM +0100, mwi...@suse.com wrote:
> From: Martin Wilck
>
> We must set the return value in configure().
Reviewed-by: Benjamin Marzinski
> ---
> multipath/main.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/multipath/main.c b/
On Fri, Nov 05, 2021 at 10:55:11AM +, Martin Wilck wrote:
> Hi Ben,
>
> On Thu, 2021-11-04 at 23:10 +0100, Martin Wilck wrote:
> > On Wed, 2021-10-20 at 14:15 -0500, Benjamin Marzinski wrote:
> > > ...
> >
> > >
> > > Multipat
On Thu, Nov 04, 2021 at 10:10:18PM +, Martin Wilck wrote:
> On Wed, 2021-10-20 at 14:15 -0500, Benjamin Marzinski wrote:
> > When paths are added by update_pathvec_from_dm(), udev may not have
> > initialized them. This means that it's possible that they are
> > supp
On Thu, Nov 04, 2021 at 10:00:11PM +, Martin Wilck wrote:
> On Wed, 2021-10-20 at 14:15 -0500, Benjamin Marzinski wrote:
> > So, it turns out that commit 4ef67017 "libmultipath: add
> > update_pathvec_from_dm()" already does most of the hard work of making
On Thu, Nov 04, 2021 at 09:11:34PM +, Martin Wilck wrote:
> On Wed, 2021-10-06 at 15:04 -0500, Benjamin Marzinski wrote:
> > Add error reporting to the remaining config handlers. If the value is
> > invalid, do not change the existing config option's value.
>
> L
On Thu, Nov 04, 2021 at 08:54:11PM +, Martin Wilck wrote:
> On Wed, 2021-10-06 at 15:04 -0500, Benjamin Marzinski wrote:
> > Split the code that does the actual value parsing out of set_int(),
> > into
> > a helper function, do_set_int(), so that it can be used by othe
On Fri, Nov 05, 2021 at 06:59:11AM +, Martin Wilck wrote:
> Hi Ben,
>
> On Thu, 2021-11-04 at 21:34 +0100, Martin Wilck wrote:
> > On Wed, 2021-10-06 at 15:04 -0500, Benjamin Marzinski wrote:
> > > multipath always requires absolute pathnames, so make sure all file
&
On Thu, Nov 04, 2021 at 08:34:20PM +, Martin Wilck wrote:
> On Wed, 2021-10-06 at 15:04 -0500, Benjamin Marzinski wrote:
> > multipath always requires absolute pathnames, so make sure all file
> > and
> > directory names start with a slash. Also check that the directorie
On Thu, Nov 04, 2021 at 08:34:33PM +, Martin Wilck wrote:
> On Wed, 2021-10-06 at 15:04 -0500, Benjamin Marzinski wrote:
> > If a value outside of the valid range is passed to set_int, it caps
> > the
> > value at appropriate limit, and issues a warning.
> >
On Thu, Nov 04, 2021 at 08:55:39PM +, Martin Wilck wrote:
> On Wed, 2021-10-06 at 15:04 -0500, Benjamin Marzinski wrote:
> > If users forget the closing brace for a section in multipath.conf,
> > multipath has no way to detect that. When it sees the keyword at the
> > star
On Thu, Nov 04, 2021 at 08:55:02PM +, Martin Wilck wrote:
> On Wed, 2021-10-06 at 15:04 -0500, Benjamin Marzinski wrote:
> > This will make it possible for the keyword handlers to print more
> > useful
> > warning messages. It will be used by future patches.
> >
The path already must have a udev device at this point, so it just
needs to copy the sysname from it.
Signed-off-by: Benjamin Marzinski
---
libmultipath/structs_vec.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/libmultipath/structs_vec.c b/libmultipath/structs_vec.c
Avoiding this corner case simplifies a future patch
Signed-off-by: Benjamin Marzinski
---
libmultipath/structs_vec.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/libmultipath/structs_vec.c b/libmultipath/structs_vec.c
index d363e7f6..fb26437a 100644
--- a/libmultipath
ck to where it could be used to reload the device.
Multipath devices now remember if they need to be reloaded, and if so,
force_reload is set in select_action(). This means that even when
configure is called with FORCE_RELOAD_WEAK, these devices will still be
reloaded.
Signed-off-by: Benjamin Marz
both by rebooting with necessary and
unnecessary multipath devices in the initramfs and multipathd.service
set to make multipathd start up at various points after the switch root,
and by manually sending remove uevents to unintialize some paths, and
then starting multipathd to test specific comb
before starting.
Signed-off-by: Benjamin Marzinski
---
multipathd/multipathd.service | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service
index 0b2ac814..87cb5349 100644
--- a/multipathd/multipathd.service
+++ b/multipathd
The only reason multipath is monitoring an INIT_PARTIAL path is because
it was discovered in a multipath device table. If it stops being part
of a multipath device before it gets fully initialized, drop it.
Signed-off-by: Benjamin Marzinski
---
libmultipath/structs_vec.c | 22
s
on these devices, multipathd will finish initializing them, and remove
them if necessary.
Signed-off-by: Benjamin Marzinski
---
libmultipath/structs.h | 6 +
libmultipath/structs_vec.c | 5 ++--
multipathd/cli_handlers.c | 4
multipathd/main.c | 48 +
When new paths are added in update_pathvec_from_dm(). If they can't get
their regular wwid, they shouldn't try the getting the fallback wwid,
and should just copy the wwid of the multipath device.
Signed-off-by: Benjamin Marzinski
---
libmultipath/discovery.c | 7 ---
li
Don't keep writing out the function type.
Signed-off-by: Benjamin Marzinski
---
libmultipath/parser.c | 6 +++---
libmultipath/parser.h | 15 ++-
2 files changed, 9 insertions(+), 12 deletions(-)
diff --git a/libmultipath/parser.c b/libmultipath/parser.c
index 611054f7..ebe
If a value outside of the valid range is passed to set_int, it caps the
value at appropriate limit, and issues a warning.
Signed-off-by: Benjamin Marzinski
---
libmultipath/dict.c | 121 +++-
1 file changed, 75 insertions(+), 46 deletions(-)
diff --git a
401 - 500 of 2197 matches
Mail list logo