GluserFS Version 7.1

* Tested: build, install, volume management, client access on NetBSD 8.x
This commit is contained in:
Jason High 2020-01-09 16:35:54 -06:00
parent abc3512417
commit 110e236688
9 changed files with 654 additions and 0 deletions

View File

@ -1082,6 +1082,7 @@ SUBDIR+= ghc
SUBDIR+= ghc-core
SUBDIR+= ghc68
SUBDIR+= ghc710
SUBDIR+= glusterfs
SUBDIR+= ghmm
SUBDIR+= ghostpcl-urwfonts-ttf
SUBDIR+= ghostscript-cidfonts-ryumin

15
glusterfs/DESCR Normal file
View File

@ -0,0 +1,15 @@
GlusterFS Version 7.1
GlusterFS is a flexible, powerful, POSIX-compliant cluster filesystem
that can scale to several petabytes.
GlusterFS works over either TCP/IP or high-performance Infiniband
RDMA interconnect.
GlusterFS provides striping and on-the-fly synchronous replication
of files. GlusterFS has a fully distributed design, with no single
point of failure.
Please visit http://www.gluster.org/glusterfs.php for more info.

32
glusterfs/MESSAGE.NetBSD Normal file
View File

@ -0,0 +1,32 @@
===========================================================================
$NetBSD: MESSAGE.NetBSD,v 1.16 2014/11/20 16:12:48 wiz Exp $
*** GlusterFS clients ***
This is required in /etc/sysctl.conf in order to avoid hangs on I/O operations
kern.sbmax=4194304
net.inet.tcp.sendbuf_max=1048576
net.inet.tcp.recvbuf_max=1048576
In order to use mount -t glusterfs, please install this link
ln -s ${PREFIX}/sbin/mount_glusterfs /sbin/mount_glusterfs
* Only for netbsd-5 branch (later NetBSD GENERIC kernels have it enabled):
A kernel with the following option is required:
file-system PUFFS
pseudo-device putter
pseudo-device pud
*** GlusterFS servers ***
glusterfs servers will need extended attributes in exported filesystems.
This is currently only supported in UFS1 (newfs -O1). You will need to
create the directories below on exported filesystems' roots, and then
mount -o extattr <dev> <datadir>
mkdir -p <datadir>/.attribute/user
mkdir -p <datadir>/.attribute/system
* For netbsd-6 branch and earlier (later NetBSD GENERIC kernels have it),
the kernel must have the following option enabled:
options UFS_EXTATTR
===========================================================================

151
glusterfs/Makefile Normal file
View File

@ -0,0 +1,151 @@
DISTNAME= glusterfs-7.1
PKGREVISION= 1
CATEGORIES= filesystems
DEPENDS+= argp>=1.3:../../devel/argp
MASTER_SITES= http://bits.gluster.org/pub/gluster/glusterfs/src/
EXTRACT_SUFX= .tar.gz
MAINTAINER= jhigh@NetBSD.org
HOMEPAGE= https://www.gluster.org/
COMMENT= Cluster filesystem
LICENSE= gnu-gpl-v3
GNU_CONFIGURE= yes
USE_LIBTOOL= yes
USE_TOOLS+= flex bison pkg-config bash
EXTRACT_USING?= bsdtar
LDADD+= " -L${BUILDLINK_DIR}/lib -largp"
CONFIGURE_ARGS+= --disable-fusermount
CONFIGURE_ARGS+= --localstatedir=${VARBASE}
MAKE_FLAGS+= LEXLIB=""
PYTHON_VERSIONS_ACCEPTED= 27 # only 2.x supported as of 3.8.x
REPLACE_PYTHON+= contrib/ipaddr-py/ipaddr.py
REPLACE_PYTHON+= events/src/glustereventsd.py
REPLACE_PYTHON+= events/src/peer_eventsapi.py
REPLACE_PYTHON+= events/tools/eventsdash.py
REPLACE_PYTHON+= extras/ganesha/scripts/generate-epoch.py
REPLACE_PYTHON+= extras/geo-rep/schedule_georep.py.in
REPLACE_PYTHON+= extras/snap_scheduler/gcron.py
REPLACE_PYTHON+= extras/snap_scheduler/snap_scheduler.py
REPLACE_PYTHON+= geo-replication/src/peer_georep-sshkey.py.in
REPLACE_PYTHON+= geo-replication/src/peer_mountbroker.in
REPLACE_PYTHON+= geo-replication/src/peer_mountbroker.py
REPLACE_PYTHON+= geo-replication/src/peer_mountbroker.py.in
REPLACE_PYTHON+= geo-replication/syncdaemon/changelogagent.py
REPLACE_PYTHON+= geo-replication/syncdaemon/gsyncd.py
REPLACE_PYTHON+= geo-replication/syncdaemon/gsyncdstatus.py
REPLACE_PYTHON+= tools/gfind_missing_files/gfid_to_path.py
REPLACE_PYTHON+= tools/glusterfind/S57glusterfind-delete-post.py
REPLACE_PYTHON+= tools/glusterfind/glusterfind.in
REPLACE_PYTHON+= tools/glusterfind/src/__init__.py
REPLACE_PYTHON+= tools/glusterfind/src/brickfind.py
REPLACE_PYTHON+= tools/glusterfind/src/changelog.py
REPLACE_PYTHON+= tools/glusterfind/src/changelogdata.py
REPLACE_PYTHON+= tools/glusterfind/src/conf.py
REPLACE_PYTHON+= tools/glusterfind/src/libgfchangelog.py
REPLACE_PYTHON+= tools/glusterfind/src/main.py
REPLACE_PYTHON+= tools/glusterfind/src/nodeagent.py
REPLACE_PYTHON+= tools/glusterfind/src/utils.py
REPLACE_BASH+= extras/ganesha/ocf/ganesha_grace
REPLACE_BASH+= extras/ganesha/ocf/ganesha_mon
REPLACE_BASH+= extras/ganesha/ocf/ganesha_nfsd
REPLACE_BASH+= extras/ganesha/scripts/copy-export-ganesha.sh
REPLACE_BASH+= extras/ganesha/scripts/create-export-ganesha.sh
REPLACE_BASH+= extras/ganesha/scripts/dbus-send.sh
REPLACE_BASH+= extras/ganesha/scripts/ganesha-ha.sh
REPLACE_BASH+= extras/geo-rep/generate-gfid-file.sh
REPLACE_BASH+= extras/geo-rep/get-gfid.sh
REPLACE_BASH+= extras/geo-rep/gsync-upgrade.sh
REPLACE_BASH+= extras/geo-rep/slave-upgrade.sh
REPLACE_BASH+= extras/peer_add_secret_pub.in
REPLACE_BASH+= extras/peer_add_secret_pub.in
REPLACE_BASH+= extras/post-upgrade-script-for-quota.sh
REPLACE_BASH+= extras/pre-upgrade-script-for-quota.sh
REPLACE_BASH+= extras/stop-all-gluster-processes.sh
REPLACE_BASH+= geo-replication/src/gverify.sh
REPLACE_BASH+= geo-replication/src/peer_gsec_create.in
REPLACE_BASH+= geo-replication/src/set_geo_rep_pem_keys.sh
SUBST_CLASSES+= urcu
SUBST_STAGE.urcu= post-configure
SUBST_FILES.urcu+= libglusterfs/src/glusterfs/async.h
SUBST_SED.urcu= -e "s,<urcu/wfcqueue.h>,<contrib/userspace-rcu/wfcqueue.h>,g"
SUBST_SED.urcu= -e "s,<urcu/wfstack.h>,<contrib/userspace-rcu/wfstack.h>,g"
SUBST_CLASSES+= mtab
SUBST_STAGE.mtab= post-build
SUBST_FILES.mtab+= doc/mount.glusterfs.8
SUBST_FILES.mtab+= libglusterfs/src/compat.h
SUBST_FILES.mtab+= xlators/mount/fuse/utils/mount.glusterfs.in
SUBST_SED.mtab= -e "s,/etc/mtab,/proc/mounts,g"
SUBST_CLASSES+= etc
SUBST_STAGE.etc= pre-build
SUBST_FILES.etc+= libglusterfs/src/logging.c
SUBST_FILES.etc+= extras/ocf/volume
SUBST_FILES.etc+= doc/glusterfsd.8
SUBST_SED.etc= -e "s,/etc/gluster,${PREFIX}/etc/gluster,g"
SUBST_CLASSES+= vol
SUBST_STAGE.vol= post-build
SUBST_FILES.vol+= extras/Makefile
SUBST_SED.vol= -e "/vol_DATA/s/glusterd.vol/glusterd.vol.sample/g"
EGDIR= ${PREFIX}/etc/glusterfs
CONF_FILES+= ${EGDIR}/glusterd.vol ${EGDIR}/glusterd.vol.sample
OWN_DIRS+= ${VARBASE}/log/glusterfs
BUILD_DEFS+= VARBASE
RCD_SCRIPTS= glusterd
PLIST_SRC= ${PLIST_SRC_DFLT}
PLIST_SUBST+= VARBASE=${VARBASE}
PLIST_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR}
PLIST_SUBST+= PYSITELIB=${PYSITELIB:Q}
PLIST_SUBST+= GLUSTERFS_VERSION=${DISTNAME:S/glusterfs-//}
MESSAGE_SRC= ${PKGDIR}/MESSAGE.${OPSYS}
#pre-build:
# #cd ${WRKSRC}/extras && \
# ${ECHO} "glusterd.vol.sample: glusterd.vol" >> Makefile && \
# ${ECHO} " cp glusterd.vol glusterd.vol.sample" >> Makefile
post-install:
${INSTALL_SCRIPT} ${DESTDIR}/sbin/mount_glusterfs \
${DESTDIR}/${PREFIX}/sbin/mount_glusterfs
LIBS+= -L${BUILDLINK_PREFIX}/lib -largp
# Debug
#CFLAGS+= -g
#INSTALL_UNSTRIPPED= yes
#CONFIGURE_ARGS+= --enable-debug
#.include "../../devel/boehm-gc/buildlink3.mk"
#CFLAGS+= -DGC_DEBUG
#CFLAGS+= -include gc.h
#LIBS+= -largp
.include "../../mk/bsd.prefs.mk"
.include "../../devel/argp/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../databases/sqlite3/buildlink3.mk"
.include "../../devel/userspace-rcu/buildlink3.mk"
.include "../../lang/python/application.mk"
.include "../../lang/python/extension.mk"
.include "../../devel/libuuid/buildlink3.mk"
.if (${OPSYS} == "NetBSD" || ${OPSYS} == "FreeBSD") && exists(/usr/include/execinfo.h)
LIBS+= -lexecinfo
.endif
.include "../../mk/bsd.pkg.mk"

356
glusterfs/PLIST Normal file
View File

@ -0,0 +1,356 @@
@comment $NetBSD$
bin/glusterfind
etc/glusterfs/eventsconfig.json
etc/glusterfs/gluster-rsyslog-5.8.conf
etc/glusterfs/gluster-rsyslog-7.2.conf
etc/glusterfs/glusterd.vol
etc/glusterfs/glusterfs-georep-logrotate
etc/glusterfs/glusterfs-logrotate
etc/glusterfs/group-db-workload
etc/glusterfs/group-distributed-virt
etc/glusterfs/group-gluster-block
etc/glusterfs/group-metadata-cache
etc/glusterfs/group-nl-cache
etc/glusterfs/group-samba
etc/glusterfs/group-virt.example
etc/glusterfs/gsyncd.conf
etc/glusterfs/logger.conf.example
etc/glusterfs/thin-arbiter.vol
include/glusterfs/api/glfs-handles.h
include/glusterfs/api/glfs.h
include/glusterfs/async.h
include/glusterfs/atomic.h
include/glusterfs/byte-order.h
include/glusterfs/call-stub.h
include/glusterfs/checksum.h
include/glusterfs/circ-buff.h
include/glusterfs/client_t.h
include/glusterfs/cluster-syncop.h
include/glusterfs/common-utils.h
include/glusterfs/compat-errno.h
include/glusterfs/compat-uuid.h
include/glusterfs/compat.h
include/glusterfs/daemon.h
include/glusterfs/default-args.h
include/glusterfs/defaults.h
include/glusterfs/dict.h
include/glusterfs/event-history.h
include/glusterfs/events.h
include/glusterfs/fd-lk.h
include/glusterfs/fd.h
include/glusterfs/gf-dirent.h
include/glusterfs/gf-event.h
include/glusterfs/gfchangelog/changelog.h
include/glusterfs/gidcache.h
include/glusterfs/glfs-message-id.h
include/glusterfs/globals.h
include/glusterfs/glusterfs-acl.h
include/glusterfs/glusterfs.h
include/glusterfs/graph-utils.h
include/glusterfs/hashfn.h
include/glusterfs/iatt.h
include/glusterfs/inode.h
include/glusterfs/iobuf.h
include/glusterfs/latency.h
include/glusterfs/libglusterfs-messages.h
include/glusterfs/list.h
include/glusterfs/lkowner.h
include/glusterfs/locking.h
include/glusterfs/logging.h
include/glusterfs/lvm-defaults.h
include/glusterfs/mem-pool.h
include/glusterfs/mem-types.h
include/glusterfs/monitoring.h
include/glusterfs/options.h
include/glusterfs/parse-utils.h
include/glusterfs/protocol-common.h
include/glusterfs/quota-common-utils.h
include/glusterfs/rbthash.h
include/glusterfs/refcount.h
include/glusterfs/revision.h
include/glusterfs/rot-buffs.h
include/glusterfs/rpc/acl3-xdr.h
include/glusterfs/rpc/changelog-xdr.h
include/glusterfs/rpc/cli1-xdr.h
include/glusterfs/rpc/glusterd1-xdr.h
include/glusterfs/rpc/glusterfs-fops.h
include/glusterfs/rpc/glusterfs3-xdr.h
include/glusterfs/rpc/glusterfs3.h
include/glusterfs/rpc/glusterfs4-xdr.h
include/glusterfs/rpc/mount3udp.h
include/glusterfs/rpc/msg-nfs3.h
include/glusterfs/rpc/nlm4-xdr.h
include/glusterfs/rpc/nsm-xdr.h
include/glusterfs/rpc/portmap-xdr.h
include/glusterfs/rpc/protocol-common.h
include/glusterfs/rpc/rpc-clnt-ping.h
include/glusterfs/rpc/rpc-clnt.h
include/glusterfs/rpc/rpc-common-xdr.h
include/glusterfs/rpc/rpc-drc.h
include/glusterfs/rpc/rpc-lib-messages.h
include/glusterfs/rpc/rpc-pragmas.h
include/glusterfs/rpc/rpc-transport.h
include/glusterfs/rpc/rpcsvc-common.h
include/glusterfs/rpc/rpcsvc.h
include/glusterfs/rpc/xdr-common.h
include/glusterfs/rpc/xdr-generic.h
include/glusterfs/rpc/xdr-nfs3.h
include/glusterfs/rpc/xdr-rpc.h
include/glusterfs/rpc/xdr-rpcclnt.h
include/glusterfs/run.h
include/glusterfs/server/authenticate.h
include/glusterfs/server/server-common.h
include/glusterfs/server/server-helpers.h
include/glusterfs/server/server-mem-types.h
include/glusterfs/server/server-messages.h
include/glusterfs/server/server.h
include/glusterfs/stack.h
include/glusterfs/statedump.h
include/glusterfs/store.h
include/glusterfs/strfd.h
include/glusterfs/syncop-utils.h
include/glusterfs/syncop.h
include/glusterfs/syscall.h
include/glusterfs/template-component-messages.h
include/glusterfs/throttle-tbf.h
include/glusterfs/timer.h
include/glusterfs/timespec.h
include/glusterfs/trie.h
include/glusterfs/upcall-utils.h
include/glusterfs/xlator.h
include/glusterfs/y.tab.h
lib/glusterfs/${PKGVERSION}/auth/addr.la
lib/glusterfs/${PKGVERSION}/auth/login.la
lib/glusterfs/${PKGVERSION}/rpc-transport/socket.la
lib/glusterfs/${PKGVERSION}/xlator/cluster/afr.la
lib/glusterfs/${PKGVERSION}/xlator/cluster/dht.la
lib/glusterfs/${PKGVERSION}/xlator/cluster/disperse.so
lib/glusterfs/${PKGVERSION}/xlator/cluster/distribute.so
lib/glusterfs/${PKGVERSION}/xlator/cluster/ec.la
lib/glusterfs/${PKGVERSION}/xlator/cluster/nufa.la
lib/glusterfs/${PKGVERSION}/xlator/cluster/replicate.so
lib/glusterfs/${PKGVERSION}/xlator/cluster/switch.la
lib/glusterfs/${PKGVERSION}/xlator/debug/delay-gen.la
lib/glusterfs/${PKGVERSION}/xlator/debug/error-gen.la
lib/glusterfs/${PKGVERSION}/xlator/debug/io-stats.la
lib/glusterfs/${PKGVERSION}/xlator/debug/sink.la
lib/glusterfs/${PKGVERSION}/xlator/debug/trace.la
lib/glusterfs/${PKGVERSION}/xlator/features/access-control.so
lib/glusterfs/${PKGVERSION}/xlator/features/arbiter.la
lib/glusterfs/${PKGVERSION}/xlator/features/barrier.la
lib/glusterfs/${PKGVERSION}/xlator/features/bit-rot.la
lib/glusterfs/${PKGVERSION}/xlator/features/bitrot-stub.la
lib/glusterfs/${PKGVERSION}/xlator/features/cdc.la
lib/glusterfs/${PKGVERSION}/xlator/features/changelog.la
lib/glusterfs/${PKGVERSION}/xlator/features/gfid-access.la
lib/glusterfs/${PKGVERSION}/xlator/features/index.la
lib/glusterfs/${PKGVERSION}/xlator/features/leases.la
lib/glusterfs/${PKGVERSION}/xlator/features/locks.la
lib/glusterfs/${PKGVERSION}/xlator/features/marker.la
lib/glusterfs/${PKGVERSION}/xlator/features/namespace.la
lib/glusterfs/${PKGVERSION}/xlator/features/posix-locks.so
lib/glusterfs/${PKGVERSION}/xlator/features/quiesce.la
lib/glusterfs/${PKGVERSION}/xlator/features/quota.la
lib/glusterfs/${PKGVERSION}/xlator/features/quotad.la
lib/glusterfs/${PKGVERSION}/xlator/features/read-only.la
lib/glusterfs/${PKGVERSION}/xlator/features/sdfs.la
lib/glusterfs/${PKGVERSION}/xlator/features/selinux.la
lib/glusterfs/${PKGVERSION}/xlator/features/shard.la
lib/glusterfs/${PKGVERSION}/xlator/features/snapview-client.la
lib/glusterfs/${PKGVERSION}/xlator/features/snapview-server.la
lib/glusterfs/${PKGVERSION}/xlator/features/thin-arbiter.la
lib/glusterfs/${PKGVERSION}/xlator/features/trash.la
lib/glusterfs/${PKGVERSION}/xlator/features/upcall.la
lib/glusterfs/${PKGVERSION}/xlator/features/utime.la
lib/glusterfs/${PKGVERSION}/xlator/features/worm.la
lib/glusterfs/${PKGVERSION}/xlator/meta.la
lib/glusterfs/${PKGVERSION}/xlator/mgmt/glusterd.la
lib/glusterfs/${PKGVERSION}/xlator/mount/api.la
lib/glusterfs/${PKGVERSION}/xlator/mount/fuse.la
lib/glusterfs/${PKGVERSION}/xlator/performance/io-cache.la
lib/glusterfs/${PKGVERSION}/xlator/performance/io-threads.la
lib/glusterfs/${PKGVERSION}/xlator/performance/md-cache.la
lib/glusterfs/${PKGVERSION}/xlator/performance/nl-cache.la
lib/glusterfs/${PKGVERSION}/xlator/performance/open-behind.la
lib/glusterfs/${PKGVERSION}/xlator/performance/quick-read.la
lib/glusterfs/${PKGVERSION}/xlator/performance/read-ahead.la
lib/glusterfs/${PKGVERSION}/xlator/performance/readdir-ahead.la
lib/glusterfs/${PKGVERSION}/xlator/performance/stat-prefetch.so
lib/glusterfs/${PKGVERSION}/xlator/performance/write-behind.la
lib/glusterfs/${PKGVERSION}/xlator/playground/template.la
lib/glusterfs/${PKGVERSION}/xlator/protocol/client.la
lib/glusterfs/${PKGVERSION}/xlator/protocol/server.la
lib/glusterfs/${PKGVERSION}/xlator/storage/posix.la
lib/glusterfs/${PKGVERSION}/xlator/system/posix-acl.la
lib/libgfapi.la
lib/libgfchangelog.la
lib/libgfrpc.la
lib/libgfxdr.la
lib/libglusterfs.la
lib/ocf/resource.d/glusterfs/glusterd
lib/ocf/resource.d/glusterfs/volume
lib/pkgconfig/glusterfs-api.pc
lib/pkgconfig/libgfchangelog.pc
${PYSITELIB}/gluster/__init__.py
${PYSITELIB}/gluster/__init__.pyc
${PYSITELIB}/gluster/__init__.pyo
${PYSITELIB}/gluster/cliutils/__init__.py
${PYSITELIB}/gluster/cliutils/__init__.pyc
${PYSITELIB}/gluster/cliutils/__init__.pyo
${PYSITELIB}/gluster/cliutils/cliutils.py
${PYSITELIB}/gluster/cliutils/cliutils.pyc
${PYSITELIB}/gluster/cliutils/cliutils.pyo
libexec/glusterfs/gfevents/__init__.py
libexec/glusterfs/gfevents/__init__.pyc
libexec/glusterfs/gfevents/__init__.pyo
libexec/glusterfs/gfevents/eventsapiconf.py
libexec/glusterfs/gfevents/eventsapiconf.pyc
libexec/glusterfs/gfevents/eventsapiconf.pyo
libexec/glusterfs/gfevents/eventtypes.py
libexec/glusterfs/gfevents/eventtypes.pyc
libexec/glusterfs/gfevents/eventtypes.pyo
libexec/glusterfs/gfevents/gf_event.py
libexec/glusterfs/gfevents/gf_event.pyc
libexec/glusterfs/gfevents/gf_event.pyo
libexec/glusterfs/gfevents/glustereventsd.py
libexec/glusterfs/gfevents/handlers.py
libexec/glusterfs/gfevents/handlers.pyc
libexec/glusterfs/gfevents/handlers.pyo
libexec/glusterfs/gfevents/utils.py
libexec/glusterfs/gfevents/utils.pyc
libexec/glusterfs/gfevents/utils.pyo
libexec/glusterfs/gfind_missing_files/gcrawler
libexec/glusterfs/gfind_missing_files/gfid_to_path.py
libexec/glusterfs/gfind_missing_files/gfid_to_path.sh
libexec/glusterfs/gfind_missing_files/gfind_missing_files.sh
libexec/glusterfs/glusterfind/S57glusterfind-delete-post.py
libexec/glusterfs/glusterfind/__init__.py
libexec/glusterfs/glusterfind/__init__.pyc
libexec/glusterfs/glusterfind/__init__.pyo
libexec/glusterfs/glusterfind/brickfind.py
libexec/glusterfs/glusterfind/changelog.py
libexec/glusterfs/glusterfind/changelogdata.py
libexec/glusterfs/glusterfind/changelogdata.pyc
libexec/glusterfs/glusterfind/changelogdata.pyo
libexec/glusterfs/glusterfind/conf.py
libexec/glusterfs/glusterfind/conf.pyc
libexec/glusterfs/glusterfind/conf.pyo
libexec/glusterfs/glusterfind/gfind_py2py3.py
libexec/glusterfs/glusterfind/gfind_py2py3.pyc
libexec/glusterfs/glusterfind/gfind_py2py3.pyo
libexec/glusterfs/glusterfind/libgfchangelog.py
libexec/glusterfs/glusterfind/libgfchangelog.pyc
libexec/glusterfs/glusterfind/libgfchangelog.pyo
libexec/glusterfs/glusterfind/main.py
libexec/glusterfs/glusterfind/main.pyc
libexec/glusterfs/glusterfind/main.pyo
libexec/glusterfs/glusterfind/nodeagent.py
libexec/glusterfs/glusterfind/tool.conf
libexec/glusterfs/glusterfind/utils.py
libexec/glusterfs/glusterfind/utils.pyc
libexec/glusterfs/glusterfind/utils.pyo
libexec/glusterfs/gsyncd
libexec/glusterfs/gverify.sh
libexec/glusterfs/peer_add_secret_pub
libexec/glusterfs/peer_eventsapi.py
libexec/glusterfs/peer_georep-sshkey.py
libexec/glusterfs/peer_gsec_create
libexec/glusterfs/peer_mountbroker
libexec/glusterfs/peer_mountbroker.py
libexec/glusterfs/python/syncdaemon/README.md
libexec/glusterfs/python/syncdaemon/__init__.py
libexec/glusterfs/python/syncdaemon/__init__.pyc
libexec/glusterfs/python/syncdaemon/__init__.pyo
libexec/glusterfs/python/syncdaemon/argsupgrade.py
libexec/glusterfs/python/syncdaemon/argsupgrade.pyc
libexec/glusterfs/python/syncdaemon/argsupgrade.pyo
libexec/glusterfs/python/syncdaemon/changelogagent.py
libexec/glusterfs/python/syncdaemon/changelogagent.pyc
libexec/glusterfs/python/syncdaemon/changelogagent.pyo
libexec/glusterfs/python/syncdaemon/conf.py
libexec/glusterfs/python/syncdaemon/conf.pyc
libexec/glusterfs/python/syncdaemon/conf.pyo
libexec/glusterfs/python/syncdaemon/gsyncd.py
libexec/glusterfs/python/syncdaemon/gsyncd.pyc
libexec/glusterfs/python/syncdaemon/gsyncd.pyo
libexec/glusterfs/python/syncdaemon/gsyncdconfig.py
libexec/glusterfs/python/syncdaemon/gsyncdconfig.pyc
libexec/glusterfs/python/syncdaemon/gsyncdconfig.pyo
libexec/glusterfs/python/syncdaemon/gsyncdstatus.py
libexec/glusterfs/python/syncdaemon/gsyncdstatus.pyc
libexec/glusterfs/python/syncdaemon/gsyncdstatus.pyo
libexec/glusterfs/python/syncdaemon/libcxattr.py
libexec/glusterfs/python/syncdaemon/libcxattr.pyc
libexec/glusterfs/python/syncdaemon/libcxattr.pyo
libexec/glusterfs/python/syncdaemon/libgfchangelog.py
libexec/glusterfs/python/syncdaemon/libgfchangelog.pyc
libexec/glusterfs/python/syncdaemon/libgfchangelog.pyo
libexec/glusterfs/python/syncdaemon/logutils.py
libexec/glusterfs/python/syncdaemon/logutils.pyc
libexec/glusterfs/python/syncdaemon/logutils.pyo
libexec/glusterfs/python/syncdaemon/master.py
libexec/glusterfs/python/syncdaemon/master.pyc
libexec/glusterfs/python/syncdaemon/master.pyo
libexec/glusterfs/python/syncdaemon/monitor.py
libexec/glusterfs/python/syncdaemon/monitor.pyc
libexec/glusterfs/python/syncdaemon/monitor.pyo
libexec/glusterfs/python/syncdaemon/py2py3.py
libexec/glusterfs/python/syncdaemon/py2py3.pyc
libexec/glusterfs/python/syncdaemon/py2py3.pyo
libexec/glusterfs/python/syncdaemon/rconf.py
libexec/glusterfs/python/syncdaemon/rconf.pyc
libexec/glusterfs/python/syncdaemon/rconf.pyo
libexec/glusterfs/python/syncdaemon/repce.py
libexec/glusterfs/python/syncdaemon/repce.pyc
libexec/glusterfs/python/syncdaemon/repce.pyo
libexec/glusterfs/python/syncdaemon/resource.py
libexec/glusterfs/python/syncdaemon/resource.pyc
libexec/glusterfs/python/syncdaemon/resource.pyo
libexec/glusterfs/python/syncdaemon/subcmds.py
libexec/glusterfs/python/syncdaemon/subcmds.pyc
libexec/glusterfs/python/syncdaemon/subcmds.pyo
libexec/glusterfs/python/syncdaemon/syncdutils.py
libexec/glusterfs/python/syncdaemon/syncdutils.pyc
libexec/glusterfs/python/syncdaemon/syncdutils.pyo
libexec/glusterfs/set_geo_rep_pem_keys.sh
man/man8/gluster-setgfid2path.8
man/man8/gluster.8
man/man8/glusterd.8
man/man8/glusterfs.8
man/man8/glusterfsd.8
man/man8/mount.glusterfs.8
sbin/conf.py
sbin/gcron.py
sbin/gf_attach
sbin/gfind_missing_files
sbin/glfsheal
sbin/gluster
sbin/gluster-eventsapi
sbin/gluster-georep-sshkey
sbin/gluster-mountbroker
sbin/gluster-setgfid2path
sbin/glusterd
sbin/glustereventsd
sbin/glusterfs
sbin/glusterfsd
sbin/mount_glusterfs
sbin/snap_scheduler.py
sbin/umountd
share/doc/glusterfs/benchmarking/README
share/doc/glusterfs/benchmarking/glfs-bm.c
share/doc/glusterfs/benchmarking/launch-script.sh
share/doc/glusterfs/benchmarking/local-script.sh
share/doc/glusterfs/benchmarking/rdd.c
share/doc/glusterfs/glusterfs-mode.el
share/doc/glusterfs/glusterfs.vim
share/glusterfs/scripts/eventsdash.py
share/glusterfs/scripts/generate-gfid-file.sh
share/glusterfs/scripts/get-gfid.sh
share/glusterfs/scripts/gsync-sync-gfid
share/glusterfs/scripts/gsync-upgrade.sh
share/glusterfs/scripts/post-upgrade-script-for-quota.sh
share/glusterfs/scripts/pre-upgrade-script-for-quota.sh
share/glusterfs/scripts/schedule_georep.py
share/glusterfs/scripts/setup-thin-arbiter.sh
share/glusterfs/scripts/slave-upgrade.sh
share/glusterfs/scripts/stop-all-gluster-processes.sh

8
glusterfs/distinfo Normal file
View File

@ -0,0 +1,8 @@
$NetBSD$
SHA1 (glusterfs-7.1.tar.gz) = 6e9c6cb9c71cbdc4e1715fd511f1ada4290609b6
RMD160 (glusterfs-7.1.tar.gz) = 6f0fe7a84d173f472fb4e36598f0ac6c0a58b23a
SHA512 (glusterfs-7.1.tar.gz) = d6f3e3732af4c4bac7b4da2a3829198d81d7158fb284556a146a597d25e7ce467f13dda4f4b04d2b4591c7f95f4867eadf0e307b3267595140292ead06c67b44
Size (glusterfs-7.1.tar.gz) = 7629250 bytes
SHA1 (patch-rpc_rpc-lib_src_rpcsvc.c) = 2452edce13f82a13056b4daa1102cdb9bf194530
SHA1 (patch-xlators_performance_write-behind_src_write-behind.c) = 60ee00eaefef7d459ae759d91217512ba75fb316

37
glusterfs/files/glusterd.sh Executable file
View File

@ -0,0 +1,37 @@
#!/bin/sh
#
# $NetBSD: glusterd.sh,v 1.12 2014/11/18 14:38:15 manu Exp $
#
# PROVIDE: glusterd
# REQUIRE: rpcbind
name="glusterd"
rcvar=$name
command="/usr/pkg/sbin/${name}"
#start_precmd="glusterd_precmd"
pidfile="/var/run/${name}.pid"
command_args="-p ${pidfile}"
required_files="/usr/pkg/etc/glusterfs/${name}.vol"
$_rc_subr_loaded . /etc/rc.subr
glusterd_precmd()
{
fatal=0
for d in /var/lib/glusterd /usr/pkg/etc/glusterd ; do
if test -d /var/lib/glusterd ; then
echo "Please migrate $d to /var/db/glusterd" >&2
fatal=1
fi
done
if [ $fatal -eq 1 ] ; then
exit 1;
fi
}
load_rc_config $name
run_rc_command "$1"

View File

@ -0,0 +1,26 @@
$NetBSD$
--- rpc/rpc-lib/src/rpcsvc.c.orig 2019-12-23 05:13:32.107572504 +0000
+++ rpc/rpc-lib/src/rpcsvc.c
@@ -2288,11 +2288,21 @@ rpcsvc_program_register(rpcsvc_t *svc, r
INIT_LIST_HEAD(&newprog->program);
pthread_mutexattr_init(&thr_attr);
+
+#if defined(__NetBSD__)
+ pthread_mutexattr_settype(&thr_attr, PTHREAD_MUTEX_NORMAL);
+#else
pthread_mutexattr_settype(&thr_attr, PTHREAD_MUTEX_ADAPTIVE_NP);
+#endif
for (i = 0; i < EVENT_MAX_THREADS; i++) {
pthread_mutexattr_init(&attr[i]);
+
+#if defined(__NetBSD__)
+ pthread_mutexattr_settype(&attr[i], PTHREAD_MUTEX_NORMAL);
+#else
pthread_mutexattr_settype(&attr[i], PTHREAD_MUTEX_ADAPTIVE_NP);
+#endif
INIT_LIST_HEAD(&newprog->request_queue[i].request_queue);
pthread_mutex_init(&newprog->request_queue[i].queue_lock, &attr[i]);
pthread_cond_init(&newprog->request_queue[i].queue_cond, NULL);

View File

@ -0,0 +1,28 @@
$NetBSD$
--- xlators/performance/write-behind/src/write-behind.c.orig 2020-01-09 18:05:13.730258054 +0000
+++ xlators/performance/write-behind/src/write-behind.c
@@ -2489,7 +2489,11 @@ wb_mark_readdirp_start(xlator_t *this, i
wb_directory_inode = wb_inode_create(this, directory);
+#if defined(__NetBSD__)
+ if (!wb_directory_inode || !wb_directory_inode->lock.spinlock.pts_spin)
+#else
if (!wb_directory_inode || !wb_directory_inode->lock.spinlock)
+#endif
return;
LOCK(&wb_directory_inode->lock);
@@ -2509,7 +2513,11 @@ wb_mark_readdirp_end(xlator_t *this, ino
wb_directory_inode = wb_inode_ctx_get(this, directory);
+#if defined( __NetBSD__ )
+ if (!wb_directory_inode || !wb_directory_inode->lock.spinlock.pts_spin)
+#else
if (!wb_directory_inode || !wb_directory_inode->lock.spinlock)
+#endif
return;
LOCK(&wb_directory_inode->lock);