[PATCH v9 08/29] libmultipath: Add sysfs helpers
sashiko-bot at kernel.org
sashiko-bot at kernel.org
Sun Nov 8 13:02:35 PST 2026
Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Low] libmultipath: duplicate parser and ambiguous return in
mpath_iopolicy_store()
--
commit 12aacc0c8ac98ed4ae873a73979622db40d4f52b
Author: John Garry <john.garry at linux.dev>
libmultipath: Add sysfs helpers
This commit adds sysfs helpers and attribute group definitions for showing
and updating the multipath I/O policy and displaying per-NUMA-node device
paths.
> diff --git a/lib/multipath.c b/lib/multipath.c
> index cdf8fbc5105b3..ae5a73d570b33 100644
> --- a/lib/multipath.c
> +++ b/lib/multipath.c
> @@ -620,6 +620,100 @@ void mpath_device_set_live(struct mpath_device *mpath_device)
[ ... ]
> +static void mpath_iopolicy_update(enum mpath_iopolicy_e *iopolicy,
> + int new)
> +{
> + int old = READ_ONCE(*iopolicy);
> +
> + if (old == new)
> + return;
> +
> + WRITE_ONCE(*iopolicy, new);
> +
> + pr_info("iopolicy changed from %s to %s\n",
> + mpath_iopolicy_names[old],
> + mpath_iopolicy_names[new]);
> +}
> +
> +bool mpath_iopolicy_store(enum mpath_iopolicy_e *iopolicy, const char *buf)
> +{
> + int i;
> +
> + for (i = 0; i < ARRAY_SIZE(mpath_iopolicy_names); i++) {
> + if (sysfs_streq(buf, mpath_iopolicy_names[i])) {
> + mpath_iopolicy_update(iopolicy, i);
> + return true;
> + }
> + }
> +
> + return false;
> +}
> +EXPORT_SYMBOL_GPL(mpath_iopolicy_store);
[Severity: Low]
Can mpath_iopolicy_store() reuse mpath_iopolicy_parse(), and how can callers
tell whether the policy actually changed?
lib/multipath.c already defines mpath_iopolicy_parse() using
__sysfs_match_string() to match against mpath_iopolicy_names[]. Also,
because mpath_iopolicy_store() returns a bool that is true for any valid
policy name even when old == new in mpath_iopolicy_update(), a sysfs store
caller cannot both reject invalid strings with -EINVAL and avoid clearing
cached paths and flushing requeue_work when the existing policy is written
again.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261108204733.557995-1-john.garry@linux.dev?part=8
More information about the Linux-nvme
mailing list