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

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1950321

Title:
  [MIR] glusterfs

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glusterfs/+bug/1950321/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to