All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "John Garry" <john.g.garry@oracle.com>
Cc: linux-scsi@vger.kernel.org
Subject: Re: [PATCH v3 01/10] nvme-multipath: add initial support for using libmultipath
Date: Fri, 03 Jul 2026 10:44:44 +0000	[thread overview]
Message-ID: <20260703104444.F0AA41F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260703103204.3724406-2-john.g.garry@oracle.com>

Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [Medium] The commit message claims to add an `mpath_disk` pointer to the head structure, but it is entirely missing from the implementation.
- [Low] The patch selects a non-existent Kconfig symbol `LIBMULTIPATH`.
- [Low] The patch references a non-existent header file `<linux/multipath.h>` and instantiates undefined, incomplete structure types.
--

commit 733f55d7e9c3919c9123eedece5d53fa4f13cc46
Author: John Garry <john.g.garry@oracle.com>

nvme-multipath: add initial support for using libmultipath

This patch introduces initial structural changes to support libmultipath in
the nvme subsystem. It modifies nvme Kconfig, nvme_ns, and nvme_ns_head
structures to include multipath components.

> Add initial support, as follows:
> - Add mpath_head_template
> - Add mpath_device in nvme_ns
> - Add mpath_disk pointer to head structure

[Severity: Medium]
The commit message states that an mpath_disk pointer is being added to the
head structure, but the actual implementation below adds a struct mpath_head
by value instead. Is the commit message stale, or was this pointer omitted
by mistake?

> diff --git a/drivers/nvme/host/Kconfig b/drivers/nvme/host/Kconfig
> index 31974c7dd20c9..1b3f76e781bad 100644
> --- a/drivers/nvme/host/Kconfig
> +++ b/drivers/nvme/host/Kconfig
> @@ -1,6 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  config NVME_CORE
>  	tristate
> +	select LIBMULTIPATH

[Severity: Low]
Does the LIBMULTIPATH Kconfig symbol exist in the tree? Selecting a
non-existent symbol here will result in Kconfig unmet dependency warnings.

> diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c
> index 9b9a657fa330f..14947736744a5 100644
> --- a/drivers/nvme/host/multipath.c
> +++ b/drivers/nvme/host/multipath.c

[ ... ]

> @@ -1496,3 +1496,7 @@ void nvme_mpath_uninit(struct nvme_ctrl *ctrl)
>  	ctrl->ana_log_buf = NULL;
>  	ctrl->ana_log_size = 0;
>  }
> +
> +__maybe_unused
> +static const struct mpath_head_template mpdt = {
> +};

[Severity: Low]
Does this compile? The struct mpath_head_template type does not appear to be
defined anywhere.

> diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
> index 824651cc898db..3e023948015ac 100644
> --- a/drivers/nvme/host/nvme.h
> +++ b/drivers/nvme/host/nvme.h
> @@ -13,6 +13,7 @@
>  #include <linux/blk-mq.h>
>  #include <linux/sed-opal.h>
>  #include <linux/fault-inject.h>
> +#include <linux/multipath.h>

[Severity: Low]
Is linux/multipath.h present in the tree? Including a missing header will
cause build failures.

[ ... ]

> @@ -560,6 +561,8 @@ struct nvme_ns_head {
>  
>  	u16			nr_plids;
>  	u16			*plids;
> +
> +	struct mpath_head	mpath_head;
>  #ifdef CONFIG_NVME_MULTIPATH
>  	struct bio_list		requeue_list;
>  	spinlock_t		requeue_lock;
> @@ -590,6 +593,7 @@ enum nvme_ns_features {
>  };
>  
>  struct nvme_ns {
> +	struct mpath_device mpath_device;
>  	struct list_head list;

[Severity: Low]
Since linux/multipath.h does not seem to exist, these embed undefined
structures (struct mpath_head and struct mpath_device) directly by value,
which will result in incomplete type errors during compilation.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260703103204.3724406-1-john.g.garry@oracle.com?part=1

  reply	other threads:[~2026-07-03 10:44 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-03 10:31 [PATCH v3 00/10] nvme: switch to libmultipath John Garry
2026-07-03 10:31 ` [PATCH v3 01/10] nvme-multipath: add initial support for using libmultipath John Garry
2026-07-03 10:44   ` sashiko-bot [this message]
2026-07-03 10:31 ` [PATCH v3 02/10] nvme-multipath: add nvme_mpath_available_path() John Garry
2026-07-03 10:31 ` [PATCH v3 03/10] nvme-multipath: add nvme_mpath_{add, remove}_cdev() John Garry
2026-07-03 10:31 ` [PATCH v3 04/10] nvme-multipath: add nvme_mpath_is_{disabled, optimised} John Garry
2026-07-03 11:06   ` sashiko-bot
2026-07-03 10:31 ` [PATCH v3 05/10] nvme-multipath: add nvme_mpath_cdev_ioctl() John Garry
2026-07-03 11:11   ` sashiko-bot
2026-07-03 10:32 ` [PATCH v3 06/10] nvme-multipath: add uring_cmd support John Garry
2026-07-03 11:42   ` sashiko-bot
2026-07-03 10:32 ` [PATCH v3 07/10] nvme-multipath: add nvme_mpath_synchronize() John Garry
2026-07-03 11:24   ` sashiko-bot
2026-07-03 14:50     ` John Garry
2026-07-03 10:32 ` [PATCH v3 08/10] nvme-multipath: add nvme_{add,delete}_ns() John Garry
2026-07-03 11:24   ` sashiko-bot
2026-07-03 10:32 ` [PATCH v3 09/10] nvme-multipath: add nvme_mpath_head_queue_if_no_path() John Garry
2026-07-03 11:33   ` sashiko-bot
2026-07-03 10:32 ` [PATCH v3 10/10] nvme-multipath: switch to use libmultipath John Garry
2026-07-03 11:42   ` sashiko-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260703104444.F0AA41F000E9@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=john.g.garry@oracle.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.