Message ID | 20230501190602.86281-1-jandryuk@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | fs/9p: Remove INET dependency | expand |
Jason Andryuk wrote on Mon, May 01, 2023 at 03:06:00PM -0400: > 9pfs can run over assorted transports, so it doesn't have an INET > dependency. Drop it and remove the includes of linux/inet.h. > > This allows configuring 9pfs over Xen with INET disabled. Good catch. Could you add depends on INET to NET_9P_FD in net/9p/Kconfig? That aside looks good to me; we probably ought to cleanup the includes a bit more aggressively...
Hi, Dominique On Mon, May 1, 2023 at 3:43 PM Dominique Martinet <asmadeus@codewreck.org> wrote: > > Jason Andryuk wrote on Mon, May 01, 2023 at 03:06:00PM -0400: > > 9pfs can run over assorted transports, so it doesn't have an INET > > dependency. Drop it and remove the includes of linux/inet.h. > > > > This allows configuring 9pfs over Xen with INET disabled. > > Good catch. > Could you add depends on INET to NET_9P_FD in net/9p/Kconfig? trans_fd.o builds without INET and without UNIX. Looks like trying to use either TCP or UNIX sockets would lead to runtime errors, but it also supports generic file descriptors. That could be useful for someone. Since it builds, would it be okay to leave this patch unchanged, or do you still want the depends added? Leaving the patch unchanged provides more flexibility, though the runtime errors may surprise users. While I built a Xen kernel without INET or UNIX, that is an unusual scenario. Typically INET and UNIX sockets will be built in anyway even without a depends. Thanks, Jason
Jason Andryuk wrote on Tue, May 02, 2023 at 08:03:15AM -0400: > > Good catch. > > Could you add depends on INET to NET_9P_FD in net/9p/Kconfig? > > trans_fd.o builds without INET and without UNIX. Looks like trying to > use either TCP or UNIX sockets would lead to runtime errors, but it > also supports generic file descriptors. That could be useful for > someone. Since it builds, would it be okay to leave this patch > unchanged, or do you still want the depends added? Leaving the patch > unchanged provides more flexibility, though the runtime errors may > surprise users. While I built a Xen kernel without INET or UNIX, that > is an unusual scenario. Typically INET and UNIX sockets will be built > in anyway even without a depends. Hmm, good point; the socket interface is common between INET and UNIX.. And you're right about the ability to use plain fd as well. How about 'imply INET'? That will automatically select INET when enabled, but allow someone to disable it explicitly. It's rare enough that I didn't know about it though, just found it in Documentation/kbuild/kconfig-language.rst ... I guess this version is fine as is if you think it's too minor, I agree kernels without INET ought to be rare enough and if it builds for randconfig tests I'm fine with this.
On Tue, May 2, 2023 at 7:31 PM Dominique Martinet <asmadeus@codewreck.org> wrote: > > Jason Andryuk wrote on Tue, May 02, 2023 at 08:03:15AM -0400: > > > Good catch. > > > Could you add depends on INET to NET_9P_FD in net/9p/Kconfig? > > > > trans_fd.o builds without INET and without UNIX. Looks like trying to > > use either TCP or UNIX sockets would lead to runtime errors, but it > > also supports generic file descriptors. That could be useful for > > someone. Since it builds, would it be okay to leave this patch > > unchanged, or do you still want the depends added? Leaving the patch > > unchanged provides more flexibility, though the runtime errors may > > surprise users. While I built a Xen kernel without INET or UNIX, that > > is an unusual scenario. Typically INET and UNIX sockets will be built > > in anyway even without a depends. > > Hmm, good point; the socket interface is common between INET and > UNIX.. And you're right about the ability to use plain fd as well. > > How about 'imply INET'? That will automatically select INET when > enabled, but allow someone to disable it explicitly. This sounds good. Thanks, Jason
diff --git a/fs/9p/Kconfig b/fs/9p/Kconfig index d7bc93447c85..0c63df574ee7 100644 --- a/fs/9p/Kconfig +++ b/fs/9p/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config 9P_FS tristate "Plan 9 Resource Sharing Support (9P2000)" - depends on INET && NET_9P + depends on NET_9P select NETFS_SUPPORT help If you say Y here, you will get experimental support for diff --git a/fs/9p/vfs_addr.c b/fs/9p/vfs_addr.c index 6f46d7e4c750..425956eb9fde 100644 --- a/fs/9p/vfs_addr.c +++ b/fs/9p/vfs_addr.c @@ -12,7 +12,6 @@ #include <linux/file.h> #include <linux/stat.h> #include <linux/string.h> -#include <linux/inet.h> #include <linux/pagemap.h> #include <linux/sched.h> #include <linux/swap.h> diff --git a/fs/9p/vfs_dentry.c b/fs/9p/vfs_dentry.c index 65fa2df5e49b..f16f73581634 100644 --- a/fs/9p/vfs_dentry.c +++ b/fs/9p/vfs_dentry.c @@ -13,7 +13,6 @@ #include <linux/pagemap.h> #include <linux/stat.h> #include <linux/string.h> -#include <linux/inet.h> #include <linux/namei.h> #include <linux/sched.h> #include <linux/slab.h> diff --git a/fs/9p/vfs_dir.c b/fs/9p/vfs_dir.c index 3d74b04fe0de..52bf87934650 100644 --- a/fs/9p/vfs_dir.c +++ b/fs/9p/vfs_dir.c @@ -13,7 +13,6 @@ #include <linux/stat.h> #include <linux/string.h> #include <linux/sched.h> -#include <linux/inet.h> #include <linux/slab.h> #include <linux/uio.h> #include <linux/fscache.h> diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c index 44c15eb2b908..367a851eaa82 100644 --- a/fs/9p/vfs_file.c +++ b/fs/9p/vfs_file.c @@ -14,7 +14,6 @@ #include <linux/file.h> #include <linux/stat.h> #include <linux/string.h> -#include <linux/inet.h> #include <linux/list.h> #include <linux/pagemap.h> #include <linux/utsname.h> diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c index 1d523bec0a94..502ac74e4959 100644 --- a/fs/9p/vfs_inode.c +++ b/fs/9p/vfs_inode.c @@ -15,7 +15,6 @@ #include <linux/pagemap.h> #include <linux/stat.h> #include <linux/string.h> -#include <linux/inet.h> #include <linux/namei.h> #include <linux/sched.h> #include <linux/slab.h> diff --git a/fs/9p/vfs_inode_dotl.c b/fs/9p/vfs_inode_dotl.c index 331ed60d8fcb..a7da49906d99 100644 --- a/fs/9p/vfs_inode_dotl.c +++ b/fs/9p/vfs_inode_dotl.c @@ -13,7 +13,6 @@ #include <linux/pagemap.h> #include <linux/stat.h> #include <linux/string.h> -#include <linux/inet.h> #include <linux/namei.h> #include <linux/sched.h> #include <linux/slab.h> diff --git a/fs/9p/vfs_super.c b/fs/9p/vfs_super.c index 266c4693e20c..10449994a972 100644 --- a/fs/9p/vfs_super.c +++ b/fs/9p/vfs_super.c @@ -12,7 +12,6 @@ #include <linux/file.h> #include <linux/stat.h> #include <linux/string.h> -#include <linux/inet.h> #include <linux/pagemap.h> #include <linux/mount.h> #include <linux/sched.h>
9pfs can run over assorted transports, so it doesn't have an INET dependency. Drop it and remove the includes of linux/inet.h. This allows configuring 9pfs over Xen with INET disabled. Signed-off-by: Jason Andryuk <jandryuk@gmail.com> --- fs/9p/Kconfig | 2 +- fs/9p/vfs_addr.c | 1 - fs/9p/vfs_dentry.c | 1 - fs/9p/vfs_dir.c | 1 - fs/9p/vfs_file.c | 1 - fs/9p/vfs_inode.c | 1 - fs/9p/vfs_inode_dotl.c | 1 - fs/9p/vfs_super.c | 1 - 8 files changed, 1 insertion(+), 8 deletions(-)