Messages in this thread Patch in this message | | | From | Thomas Weißschuh <> | Subject | [PATCH v2 4/4] net/p9: load default transports | Date | Wed, 3 Nov 2021 20:38:23 +0100 |
| |
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
| |