Messages in this thread | | | Date | Mon, 8 Nov 2021 19:50:34 +0100 | From | Thomas Weißschuh <> | Subject | Re: [PATCH v2 4/4] net/p9: load default transports |
| |
Hi Dominique,
On 2021-11-03 20:38+0100, Thomas Weißschuh wrote: > Now that all transports are split into modules it may happen that no > transports are registered when v9fs_get_default_trans() is called. > When that is the case try to load more transports from modules. > > Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> > --- > net/9p/mod.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/net/9p/mod.c b/net/9p/mod.c > index 8f1d067b272e..7bb875cd279f 100644 > --- a/net/9p/mod.c > +++ b/net/9p/mod.c > @@ -128,6 +128,10 @@ struct p9_trans_module *v9fs_get_trans_by_name(const char *s) > } > EXPORT_SYMBOL(v9fs_get_trans_by_name); > > +static const char * const v9fs_default_transports[] = { > + "virtio", "tcp", "fd", "unix", "xen", "rdma", > +}; > + > /** > * v9fs_get_default_trans - get the default transport > * > @@ -136,6 +140,7 @@ EXPORT_SYMBOL(v9fs_get_trans_by_name); > struct p9_trans_module *v9fs_get_default_trans(void) > { > struct p9_trans_module *t, *found = NULL; > + int i; > > spin_lock(&v9fs_trans_lock); > > @@ -153,6 +158,10 @@ struct p9_trans_module *v9fs_get_default_trans(void) > } > > spin_unlock(&v9fs_trans_lock); > + > + for (i = 0; !found && i < ARRAY_SIZE(v9fs_default_transports); i++) > + found = v9fs_get_trans_by_name(v9fs_default_transports[i]); > + > return found; > } > EXPORT_SYMBOL(v9fs_get_default_trans); > -- > 2.33.1
I did not notice that you already had applied "net/9p: autoload transport modules" to your tree when sending this series.
Please note that in this series I modified patch 1 a bit, from the ony you applied, to prevent warnings in patch 4. Concretely I modified the prototypes of `v9fs_get_trans_by_name()` and `_p9_get_trans_by_name()` to take const parameters.
Feel free to roll those changes into this patch when applying or I can resend the patch/series.
Thomas
| |