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