Re: [PATCH v5 01/27] libmultipath: Add initial framework
| Newsgroups | org.kernel.vger.linux-scsi |
|---|---|
| Message-ID | <[email protected]> |
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: - [Low] The static workqueue `mpath_wq` is allocated but never used to queue work. - [Low] Missing `#include <linux/wait_bit.h>` in `lib/multipath.c` causes a build issue. -- --- Patch [1]: [PATCH v5 01/27] libmultipath: Add initial framework --- commit 10e613ef081274ac617a43c354384f9ddc32f1f5 Author: John Garry <[email protected]> libmultipath: Add initial framework Add initial framework for libmultipath to support path management, path selection, and failover handling. > diff --git a/lib/multipath.c b/lib/multipath.c > new file mode 100644 > index 0000000000000..9cc398d266adf > --- /dev/null > +++ b/lib/multipath.c [ ... ] > +void mpath_put_head(struct mpath_head *mpath_head) > +{ > + refcount_t *refcount = &mpath_head->refcount; > + > + if (refcount_dec_and_test(&mpath_head->refcount)) > + wake_up_var(refcount); [Severity: Low] Does this code build without including <linux/wait_bit.h>? It appears that the wake_up_var() macro used here, and the wait_var_event() macro used in mpath_head_uninit(), are defined in <linux/wait_bit.h>. This header does not seem to be included directly or implicitly through <linux/multipath.h> or <linux/module.h>. > +} > +EXPORT_SYMBOL_GPL(mpath_put_head); [ ... ] > +static int __init mpath_init(void) > +{ > + mpath_wq = alloc_workqueue("mpath-wq", > + WQ_UNBOUND | WQ_MEM_RECLAIM | WQ_SYSFS, 0); [Severity: Low] Is it necessary to allocate this workqueue here? It looks like the static variable mpath_wq is allocated and initialized, but no work is ever actually queued to it. Could this allocation be removed until it is needed? > + if (!mpath_wq) > + return -ENOMEM; > + return 0; > +} -- Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=1