diff mbox series

fs/9p: Remove INET dependency

Message ID 20230501190602.86281-1-jandryuk@gmail.com (mailing list archive)
State Superseded
Headers show
Series fs/9p: Remove INET dependency | expand

Commit Message

Jason Andryuk May 1, 2023, 7:06 p.m. UTC
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(-)

Comments

Dominique Martinet May 1, 2023, 7:43 p.m. UTC | #1
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...
Jason Andryuk May 2, 2023, 12:03 p.m. UTC | #2
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
Dominique Martinet May 2, 2023, 11:31 p.m. UTC | #3
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.
Jason Andryuk May 3, 2023, 2:11 p.m. UTC | #4
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 mbox series

Patch

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>