I did some investigation in all of the contrib/ directories: [Embedded Sources] [contrib/xxhash] - https://github.com/Cyan4973/xxHash - devel ML thread discussing its inclusion: http://lists.gluster.org/pipermail/gluster-devel/2017-June/053173.html - mailing list thread said back then the linux distros didn't have xxhash packaged. We have it since bionic (so 2018) - it claims the usage is not cryptographic - we have it in ubuntu main (https://launchpad.net/ubuntu/+source/xxhash) - version in jammy is 0.8.0, upstream is 0.8.1 - embedded version in glusterfs is 0.6.5, from April 2018 (https://github.com/Cyan4973/xxHash/releases/tag/v0.6.5) - pinged upstream about it in slack (https://gluster.slack.com/archives/CHVRH5D50/p1641316163090300) - -I xxhash.h includes the .c file too, inline: #if defined(XXH_INLINE_ALL) || defined(XXH_PRIVATE_API) # include "xxhash.c" /* include xxhash function bodies as `static`, for inlining */ #endif [contrib/umountd] - not used on linux [contrib/userspace-rcu] - only used if the system has an old liburcu (<= 0.7). Ubuntu jammy has 0.8 PKG_CHECK_MODULES([URCU_CDS], [liburcu-cds >= 0.8], [], [PKG_CHECK_MODULES([URCU_CDS], [liburcu-cds >= 0.7], [AC_DEFINE(URCU_OLD, 1, [Define if liburcu 0.6 or 0.7 is found]) USE_CONTRIB_URCU='yes'], [AC_CHECK_HEADERS([urcu/cds.h], [AC_DEFINE(URCU_OLD, 1, [Define if liburcu 0.6 or 0.7 is found]) URCU_CDS_LIBS='-lurcu-cds' USE_CONTRIB_URCU='yes'], [AC_MSG_ERROR([liburcu-cds not found])])])]) And we get in config.h after a build: $ grep URCU_OLD config.h -B1 /* Define if liburcu 0.6 or 0.7 is found */ /* #undef URCU_OLD */ That being said, the build command lines still pass "-I../../../../contrib/userspace-rcu" regardless [contrib/timer-wheel] - seems to have come from the linux kernel: linux/kernel/timer.c and others [contrib/rbtree] - comes from http://savannah.gnu.org/projects/avl - version 2.0.3, last updated in 2007 [mount/] - not used in linux: #if !defined(GF_LINUX_HOST_OS) [contrib/macfuse] - only used in macos/darwing [contrib/libgen] - basename_r.c: copied from glibc-2.12.1/string/basename.c, with modifications - dirname_r.c: copied from glibc-2.12.1/string/memrchr.c and glibc-2.12.1/misc/dirname.c, with modifications [contrib/libexecinfo] - not used, because we define HAVE_BACKTRACE: $ grep HAVE_BACKTRACE config.h -B1 /* define if found backtrace */ #define HAVE_BACKTRACE 1 And: $ grep HAVE_BACKTRACE contrib/libexecinfo/* contrib/libexecinfo/execinfo.c:#ifndef HAVE_BACKTRACE contrib/libexecinfo/execinfo_compat.h:#ifndef HAVE_BACKTRACE [contrib/fuse-util] - builds fusermount - system's fusermount is suid root, and comes from the `fuse` package - there is a configure option to use the system's fusermount, disabling this built-in copy, but it's not used in the packaging, [contrib/fuse-lib] - file has origin declaration and list of changes: * These functions (and gf_fuse_umount() in mount.c) * were originally taken from libfuse as of commit 7960e99e * (http://fuse.git.sourceforge.net/git/gitweb.cgi?p=fuse/fuse;a=commit;h=7960e99e) * almost verbatim. What has been changed upon adoption: ... [contrib/fuse-include] - counterpart header files for the rest of the fuse contrib directories