mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-24 05:01:03 +02:00
9p/trans_fd: split into dedicated module
This allows these transports only to be used when needed. Link: https://lkml.kernel.org/r/20211103193823.111007-3-linux@weissschuh.net Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> [Dominique: Kconfig NET_9P_FD: -depends VIRTIO, +default NET_9P] Signed-off-by: Dominique Martinet <asmadeus@codewreck.org>
This commit is contained in:
committed by
Dominique Martinet
parent
90d6cf349c
commit
1c582c6dc4
@@ -551,6 +551,4 @@ struct p9_fcall {
|
|||||||
int p9_errstr2errno(char *errstr, int len);
|
int p9_errstr2errno(char *errstr, int len);
|
||||||
|
|
||||||
int p9_error_init(void);
|
int p9_error_init(void);
|
||||||
int p9_trans_fd_init(void);
|
|
||||||
void p9_trans_fd_exit(void);
|
|
||||||
#endif /* NET_9P_H */
|
#endif /* NET_9P_H */
|
||||||
|
@@ -15,6 +15,13 @@ menuconfig NET_9P
|
|||||||
|
|
||||||
if NET_9P
|
if NET_9P
|
||||||
|
|
||||||
|
config NET_9P_FD
|
||||||
|
default NET_9P
|
||||||
|
tristate "9P FD Transport"
|
||||||
|
help
|
||||||
|
This builds support for transports over TCP, Unix sockets and
|
||||||
|
filedescriptors.
|
||||||
|
|
||||||
config NET_9P_VIRTIO
|
config NET_9P_VIRTIO
|
||||||
depends on VIRTIO
|
depends on VIRTIO
|
||||||
tristate "9P Virtio Transport"
|
tristate "9P Virtio Transport"
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
obj-$(CONFIG_NET_9P) := 9pnet.o
|
obj-$(CONFIG_NET_9P) := 9pnet.o
|
||||||
|
obj-$(CONFIG_NET_9P_FD) += 9pnet_fd.o
|
||||||
obj-$(CONFIG_NET_9P_XEN) += 9pnet_xen.o
|
obj-$(CONFIG_NET_9P_XEN) += 9pnet_xen.o
|
||||||
obj-$(CONFIG_NET_9P_VIRTIO) += 9pnet_virtio.o
|
obj-$(CONFIG_NET_9P_VIRTIO) += 9pnet_virtio.o
|
||||||
obj-$(CONFIG_NET_9P_RDMA) += 9pnet_rdma.o
|
obj-$(CONFIG_NET_9P_RDMA) += 9pnet_rdma.o
|
||||||
@@ -9,9 +10,11 @@ obj-$(CONFIG_NET_9P_RDMA) += 9pnet_rdma.o
|
|||||||
client.o \
|
client.o \
|
||||||
error.o \
|
error.o \
|
||||||
protocol.o \
|
protocol.o \
|
||||||
trans_fd.o \
|
|
||||||
trans_common.o \
|
trans_common.o \
|
||||||
|
|
||||||
|
9pnet_fd-objs := \
|
||||||
|
trans_fd.o \
|
||||||
|
|
||||||
9pnet_virtio-objs := \
|
9pnet_virtio-objs := \
|
||||||
trans_virtio.o \
|
trans_virtio.o \
|
||||||
|
|
||||||
|
@@ -177,7 +177,6 @@ static int __init init_p9(void)
|
|||||||
|
|
||||||
p9_error_init();
|
p9_error_init();
|
||||||
pr_info("Installing 9P2000 support\n");
|
pr_info("Installing 9P2000 support\n");
|
||||||
p9_trans_fd_init();
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -191,7 +190,6 @@ static void __exit exit_p9(void)
|
|||||||
{
|
{
|
||||||
pr_info("Unloading 9P2000 support\n");
|
pr_info("Unloading 9P2000 support\n");
|
||||||
|
|
||||||
p9_trans_fd_exit();
|
|
||||||
p9_client_exit();
|
p9_client_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1090,6 +1090,7 @@ static struct p9_trans_module p9_tcp_trans = {
|
|||||||
.show_options = p9_fd_show_options,
|
.show_options = p9_fd_show_options,
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
};
|
};
|
||||||
|
MODULE_ALIAS_9P("tcp");
|
||||||
|
|
||||||
static struct p9_trans_module p9_unix_trans = {
|
static struct p9_trans_module p9_unix_trans = {
|
||||||
.name = "unix",
|
.name = "unix",
|
||||||
@@ -1103,6 +1104,7 @@ static struct p9_trans_module p9_unix_trans = {
|
|||||||
.show_options = p9_fd_show_options,
|
.show_options = p9_fd_show_options,
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
};
|
};
|
||||||
|
MODULE_ALIAS_9P("unix");
|
||||||
|
|
||||||
static struct p9_trans_module p9_fd_trans = {
|
static struct p9_trans_module p9_fd_trans = {
|
||||||
.name = "fd",
|
.name = "fd",
|
||||||
@@ -1116,6 +1118,7 @@ static struct p9_trans_module p9_fd_trans = {
|
|||||||
.show_options = p9_fd_show_options,
|
.show_options = p9_fd_show_options,
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
};
|
};
|
||||||
|
MODULE_ALIAS_9P("fd");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* p9_poll_workfn - poll worker thread
|
* p9_poll_workfn - poll worker thread
|
||||||
@@ -1149,7 +1152,7 @@ static void p9_poll_workfn(struct work_struct *work)
|
|||||||
p9_debug(P9_DEBUG_TRANS, "finish\n");
|
p9_debug(P9_DEBUG_TRANS, "finish\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
int p9_trans_fd_init(void)
|
static int __init p9_trans_fd_init(void)
|
||||||
{
|
{
|
||||||
v9fs_register_trans(&p9_tcp_trans);
|
v9fs_register_trans(&p9_tcp_trans);
|
||||||
v9fs_register_trans(&p9_unix_trans);
|
v9fs_register_trans(&p9_unix_trans);
|
||||||
@@ -1158,10 +1161,17 @@ int p9_trans_fd_init(void)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void p9_trans_fd_exit(void)
|
static void __exit p9_trans_fd_exit(void)
|
||||||
{
|
{
|
||||||
flush_work(&p9_poll_work);
|
flush_work(&p9_poll_work);
|
||||||
v9fs_unregister_trans(&p9_tcp_trans);
|
v9fs_unregister_trans(&p9_tcp_trans);
|
||||||
v9fs_unregister_trans(&p9_unix_trans);
|
v9fs_unregister_trans(&p9_unix_trans);
|
||||||
v9fs_unregister_trans(&p9_fd_trans);
|
v9fs_unregister_trans(&p9_fd_trans);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module_init(p9_trans_fd_init);
|
||||||
|
module_exit(p9_trans_fd_exit);
|
||||||
|
|
||||||
|
MODULE_AUTHOR("Eric Van Hensbergen <ericvh@gmail.com>");
|
||||||
|
MODULE_DESCRIPTION("Filedescriptor Transport for 9P");
|
||||||
|
MODULE_LICENSE("GPL");
|
||||||
|
Reference in New Issue
Block a user