Module Name: src Committed By: christos Date: Fri May 15 23:32:28 UTC 2020
Modified Files: src/distrib/sets/lists/base: shl.mi src/distrib/sets/lists/comp: mi shl.mi src/distrib/sets/lists/debug: mi shl.mi src/sys/rump/fs: Makefile.rumpfscomp src/sys/rump/librump/rumpvfs: rumpfs.c src/tests: Makefile.inc src/tests/fs/ffs: Makefile src/tests/fs/puffs: Makefile Log Message: PR/55102: Kamil Rytarowski: Duplicate fifo_vnodeop_entries, fifo_vnodeop_opv_desc symbols. Many filesystems ffs, lfs, ulfs, chfs, ext2fs etc. use fifofs internally for their fifo vnops. NFS does too, but it also needs networking anyway. Unfortunately fifofs brings in a lot of the networking code so that the rumpkernel is not well partition. In addition the fifo code is rarely used. The existing hack depended on duplicating the above symbols and adding minimal functionality for the majority of the the tests (except the ffs and the puffs one). In these two cases both symbols were loaded and the symbol sizes clashed which broke the sanitizers. While this can be fixed with weak symbols and other kinds of indirection, it is more straight forward to select between the minimal and the full fifofs implementation by introducing a new shared library librumpvfs_nofifofs. To generate a diff of this commit: cvs rdiff -u -r1.885 -r1.886 src/distrib/sets/lists/base/shl.mi cvs rdiff -u -r1.2325 -r1.2326 src/distrib/sets/lists/comp/mi cvs rdiff -u -r1.331 -r1.332 src/distrib/sets/lists/comp/shl.mi cvs rdiff -u -r1.309 -r1.310 src/distrib/sets/lists/debug/mi cvs rdiff -u -r1.246 -r1.247 src/distrib/sets/lists/debug/shl.mi cvs rdiff -u -r1.7 -r1.8 src/sys/rump/fs/Makefile.rumpfscomp cvs rdiff -u -r1.160 -r1.161 src/sys/rump/librump/rumpvfs/rumpfs.c cvs rdiff -u -r1.6 -r1.7 src/tests/Makefile.inc cvs rdiff -u -r1.21 -r1.22 src/tests/fs/ffs/Makefile cvs rdiff -u -r1.15 -r1.16 src/tests/fs/puffs/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/distrib/sets/lists/base/shl.mi diff -u src/distrib/sets/lists/base/shl.mi:1.885 src/distrib/sets/lists/base/shl.mi:1.886 --- src/distrib/sets/lists/base/shl.mi:1.885 Fri May 15 10:57:33 2020 +++ src/distrib/sets/lists/base/shl.mi Fri May 15 19:32:27 2020 @@ -1,4 +1,4 @@ -# $NetBSD: shl.mi,v 1.885 2020/05/15 14:57:33 joerg Exp $ +# $NetBSD: shl.mi,v 1.886 2020/05/15 23:32:27 christos Exp $ # # Note: Don't delete entries from here - mark them as "obsolete" instead, # unless otherwise stated below. @@ -844,6 +844,9 @@ ./usr/lib/librumpvfs_layerfs.so base-rump-shlib rump ./usr/lib/librumpvfs_layerfs.so.0 base-rump-shlib rump ./usr/lib/librumpvfs_layerfs.so.0.0 base-rump-shlib rump +./usr/lib/librumpvfs_nofifofs.so base-rump-shlib rump +./usr/lib/librumpvfs_nofifofs.so.0 base-rump-shlib rump +./usr/lib/librumpvfs_nofifofs.so.0.0 base-rump-shlib rump ./usr/lib/libsaslc.so base-sys-shlib compatfile ./usr/lib/libsaslc.so.0 base-sys-shlib compatfile ./usr/lib/libsaslc.so.0.0 base-sys-shlib compatfile Index: src/distrib/sets/lists/comp/mi diff -u src/distrib/sets/lists/comp/mi:1.2325 src/distrib/sets/lists/comp/mi:1.2326 --- src/distrib/sets/lists/comp/mi:1.2325 Wed May 6 12:17:36 2020 +++ src/distrib/sets/lists/comp/mi Fri May 15 19:32:27 2020 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.2325 2020/05/06 16:17:36 nia Exp $ +# $NetBSD: mi,v 1.2326 2020/05/15 23:32:27 christos Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. ./etc/mtree/set.comp comp-sys-root @@ -3863,6 +3863,8 @@ ./usr/lib/librumpvfs_fifofs_p.a comp-c-proflib rump,profile ./usr/lib/librumpvfs_layerfs.a comp-c-lib rump ./usr/lib/librumpvfs_layerfs_p.a comp-c-proflib rump,profile +./usr/lib/librumpvfs_nofifofs.a comp-c-lib rump +./usr/lib/librumpvfs_nofifofs_p.a comp-c-proflib rump,profile ./usr/lib/librumpvfs_p.a comp-c-proflib compatfile,rump,profile ./usr/lib/libsaslc.a comp-c-clib compatfile ./usr/lib/libsaslc_p.a comp-c-proflib compatfile,profile Index: src/distrib/sets/lists/comp/shl.mi diff -u src/distrib/sets/lists/comp/shl.mi:1.331 src/distrib/sets/lists/comp/shl.mi:1.332 --- src/distrib/sets/lists/comp/shl.mi:1.331 Sat Apr 4 15:26:51 2020 +++ src/distrib/sets/lists/comp/shl.mi Fri May 15 19:32:28 2020 @@ -1,4 +1,4 @@ -# $NetBSD: shl.mi,v 1.331 2020/04/04 19:26:51 christos Exp $ +# $NetBSD: shl.mi,v 1.332 2020/05/15 23:32:28 christos Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -252,6 +252,7 @@ ./usr/lib/librumpvfs_aio_pic.a comp-c-piclib picinstall,rump ./usr/lib/librumpvfs_fifofs_pic.a comp-c-piclib picinstall,rump ./usr/lib/librumpvfs_layerfs_pic.a comp-c-piclib picinstall,rump +./usr/lib/librumpvfs_nofifofs_pic.a comp-c-piclib picinstall,rump ./usr/lib/librumpvfs_pic.a comp-c-piclib compatfile,picinstall,rump ./usr/lib/libsaslc_pic.a comp-c-piclib compatfile,picinstall ./usr/lib/libsdp_pic.a comp-obsolete obsolete Index: src/distrib/sets/lists/debug/mi diff -u src/distrib/sets/lists/debug/mi:1.309 src/distrib/sets/lists/debug/mi:1.310 --- src/distrib/sets/lists/debug/mi:1.309 Fri May 1 13:14:28 2020 +++ src/distrib/sets/lists/debug/mi Fri May 15 19:32:28 2020 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.309 2020/05/01 17:14:28 christos Exp $ +# $NetBSD: mi,v 1.310 2020/05/15 23:32:28 christos Exp $ ./etc/mtree/set.debug comp-sys-root ./usr/lib comp-sys-usr compatdir ./usr/lib/i18n/libBIG5_g.a comp-c-debuglib debuglib,compatfile @@ -242,6 +242,7 @@ ./usr/lib/librumpvfs_fifofs_g.a comp-c-debuglib debuglib,rump ./usr/lib/librumpvfs_g.a comp-c-debuglib debuglib,compatfile,rump ./usr/lib/librumpvfs_layerfs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpvfs_nofifofs_g.a comp-c-debuglib debuglib,rump ./usr/lib/libsaslc_g.a comp-c-debuglib debuglib,compatfile ./usr/lib/libsdp_g.a comp-obsolete obsolete,compatfile ./usr/lib/libskey_g.a comp-c-debuglib debuglib,compatfile,skey Index: src/distrib/sets/lists/debug/shl.mi diff -u src/distrib/sets/lists/debug/shl.mi:1.246 src/distrib/sets/lists/debug/shl.mi:1.247 --- src/distrib/sets/lists/debug/shl.mi:1.246 Fri May 15 10:57:33 2020 +++ src/distrib/sets/lists/debug/shl.mi Fri May 15 19:32:28 2020 @@ -1,4 +1,4 @@ -# $NetBSD: shl.mi,v 1.246 2020/05/15 14:57:33 joerg Exp $ +# $NetBSD: shl.mi,v 1.247 2020/05/15 23:32:28 christos Exp $ ./usr/lib/libbfd_g.a comp-c-debuglib debuglib,compatfile,binutils ./usr/libdata/debug/lib base-sys-usr debug,dynamicroot,compatdir ./usr/libdata/debug/lib/libavl.so.0.0.debug comp-zfs-debug debug,dynamicroot,zfs @@ -297,6 +297,7 @@ ./usr/libdata/debug/usr/lib/librumpvfs_aio.so.0.0.debug comp-rump-debug debug,rump ./usr/libdata/debug/usr/lib/librumpvfs_fifofs.so.0.0.debug comp-rump-debug debug,rump ./usr/libdata/debug/usr/lib/librumpvfs_layerfs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpvfs_nofifofs.so.0.0.debug comp-rump-debug debug,rump ./usr/libdata/debug/usr/lib/libsaslc.so.0.0.debug comp-sys-debug debug,compatfile ./usr/libdata/debug/usr/lib/libskey.so.2.0.debug comp-sys-debug debug,compatfile,skey ./usr/libdata/debug/usr/lib/libsl.so.6.0.debug comp-krb5-debug debug,compatfile,kerberos Index: src/sys/rump/fs/Makefile.rumpfscomp diff -u src/sys/rump/fs/Makefile.rumpfscomp:1.7 src/sys/rump/fs/Makefile.rumpfscomp:1.8 --- src/sys/rump/fs/Makefile.rumpfscomp:1.7 Sat Apr 4 11:43:21 2020 +++ src/sys/rump/fs/Makefile.rumpfscomp Fri May 15 19:32:28 2020 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.rumpfscomp,v 1.7 2020/04/04 15:43:21 jdolecek Exp $ +# $NetBSD: Makefile.rumpfscomp,v 1.8 2020/05/15 23:32:28 christos Exp $ # .include <bsd.own.mk> @@ -13,7 +13,7 @@ RUMPFSCOMP+= zfs RUMPFSCOMP+= nfsserver -RUMPVFSCOMP+= fifo layer +RUMPVFSCOMP+= fifo layer nofifo RUMPFSSYSCOMP+= aio Index: src/sys/rump/librump/rumpvfs/rumpfs.c diff -u src/sys/rump/librump/rumpvfs/rumpfs.c:1.160 src/sys/rump/librump/rumpvfs/rumpfs.c:1.161 --- src/sys/rump/librump/rumpvfs/rumpfs.c:1.160 Thu May 14 20:04:02 2020 +++ src/sys/rump/librump/rumpvfs/rumpfs.c Fri May 15 19:32:28 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpfs.c,v 1.160 2020/05/15 00:04:02 christos Exp $ */ +/* $NetBSD: rumpfs.c,v 1.161 2020/05/15 23:32:28 christos Exp $ */ /* * Copyright (c) 2009, 2010, 2011 Antti Kantee. All Rights Reserved. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rumpfs.c,v 1.160 2020/05/15 00:04:02 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rumpfs.c,v 1.161 2020/05/15 23:32:28 christos Exp $"); #include <sys/param.h> #include <sys/atomic.h> @@ -49,7 +49,6 @@ __KERNEL_RCSID(0, "$NetBSD: rumpfs.c,v 1 #include <sys/fstrans.h> #include <sys/unistd.h> -#include <miscfs/fifofs/fifo.h> #include <miscfs/specfs/specdev.h> #include <miscfs/genfs/genfs.h> #include <miscfs/genfs/genfs_node.h> @@ -88,15 +87,6 @@ static int rump_vop_advlock(void *); static int rump_vop_access(void *); static int rump_vop_fcntl(void *); -int (**fifo_vnodeop_p)(void *); -const struct vnodeopv_entry_desc fifo_vnodeop_entries[] = { - { &vop_default_desc, vn_default_error }, - { &vop_putpages_desc, genfs_null_putpages }, - { NULL, NULL } -}; -const struct vnodeopv_desc fifo_vnodeop_opv_desc = - { &fifo_vnodeop_p, fifo_vnodeop_entries }; - int (**rump_vnodeop_p)(void *); const struct vnodeopv_entry_desc rump_vnodeop_entries[] = { { &vop_default_desc, vn_default_error }, Index: src/tests/Makefile.inc diff -u src/tests/Makefile.inc:1.6 src/tests/Makefile.inc:1.7 --- src/tests/Makefile.inc:1.6 Sun Mar 1 13:08:12 2020 +++ src/tests/Makefile.inc Fri May 15 19:32:28 2020 @@ -1,7 +1,12 @@ -# $NetBSD: Makefile.inc,v 1.6 2020/03/01 18:08:12 christos Exp $ +# $NetBSD: Makefile.inc,v 1.7 2020/05/15 23:32:28 christos Exp $ WARNS ?= 4 CWARNFLAGS+= -Wno-missing-noreturn TOOLSSRCDIR:= ${.PARSEDIR} CPPFLAGS+= -I${TOOLSSRCDIR} -LIBRUMPBASE = -lrumpvfs -lrump -lrumpvfs -lrumpuser -lrump -lpthread +.if ${RUMPFIFO:Uno} == "yes" +LIBRUMPFIFO = -lrumpvfs_fifofs -lrumpnet_local -lrumpnet_net -lrumpnet +.else +LIBRUMPFIFO = -lrumpvfs_nofifofs +.endif +LIBRUMPBASE = -lrumpvfs -lrump ${LIBRUMPFIFO} -lrumpvfs -lrumpuser -lrump -lpthread Index: src/tests/fs/ffs/Makefile diff -u src/tests/fs/ffs/Makefile:1.21 src/tests/fs/ffs/Makefile:1.22 --- src/tests/fs/ffs/Makefile:1.21 Fri Apr 10 18:58:47 2020 +++ src/tests/fs/ffs/Makefile Fri May 15 19:32:28 2020 @@ -1,6 +1,7 @@ -# $NetBSD: Makefile,v 1.21 2020/04/10 22:58:47 christos Exp $ +# $NetBSD: Makefile,v 1.22 2020/05/15 23:32:28 christos Exp $ # +RUMPFIFO=yes # use the real rump fifofs .include <bsd.own.mk> TESTSDIR= ${TESTSBASE}/fs/ffs @@ -33,7 +34,6 @@ TESTS_C+= t_update_log LDADD+=-lrumpfs_ffs # ffs LDADD+=-lrumpdev_fss # snapshot dev LDADD+=-lrumpdev_disk -lrumpdev # disk device -LDADD+=-lrumpvfs_fifofs -lrumpnet_local -lrumpnet_net -lrumpnet # fifos VFSTESTDIR != cd ${.CURDIR}/../common && ${PRINTOBJDIR} LDADD+=-L${VFSTESTDIR} -lvfstest LDADD+=-lrumpkern_sysproxy ${LIBRUMPBASE} Index: src/tests/fs/puffs/Makefile diff -u src/tests/fs/puffs/Makefile:1.15 src/tests/fs/puffs/Makefile:1.16 --- src/tests/fs/puffs/Makefile:1.15 Sun Mar 1 13:08:14 2020 +++ src/tests/fs/puffs/Makefile Fri May 15 19:32:28 2020 @@ -1,6 +1,7 @@ -# $NetBSD: Makefile,v 1.15 2020/03/01 18:08:14 christos Exp $ +# $NetBSD: Makefile,v 1.16 2020/05/15 23:32:28 christos Exp $ # +RUMPFIFO=yes # Use the real rump fifo .include <bsd.own.mk> SUBDIR+= h_dtfs @@ -15,8 +16,7 @@ VFSTESTDIR != cd ${.CURDIR}/../common && LDADD+=-L${VFSTESTDIR} -lvfstest LDADD+= -lrumpdev_putter -lrumpdev -LDADD+= -lrumpfs_syspuffs -lrumpvfs_fifofs -LDADD+= -lrumpnet_local -lrumpnet_net -lrumpnet +LDADD+= -lrumpfs_syspuffs LDADD+= ${LIBRUMPBASE} # required by -DPUFFSDUMP