pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
glusterfs: update wip/glusterfs to 10.3
Module Name: pkgsrc-wip
Committed By: Alexander Schreiber <als%thangorodrim.ch@localhost>
Pushed By: als
Date: Sun Jan 29 22:06:09 2023 +0000
Changeset: 509f585558fa259bfde35768544633cfb70a92ca
Modified Files:
glusterfs/DESCR
glusterfs/MESSAGE.NetBSD
glusterfs/Makefile
glusterfs/PLIST
glusterfs/distinfo
glusterfs/files/glusterd.sh
Added Files:
glusterfs/patches/patch-configure
glusterfs/patches/patch-configure.ac
glusterfs/patches/patch-libglusterfs-src-glusterfs-dict.h
Removed Files:
glusterfs/patches/patch-rpc_rpc-lib_src_rpcsvc.c
glusterfs/patches/patch-xlators_performance_write-behind_src_write-behind.c
Log Message:
glusterfs: update wip/glusterfs to 10.3
changelog from upstream:
Gluster 10.3
This is a bugfix release. The release notes for 10.0, 10.1 and 10.2
contain a listing of all the new improvements and bugs fixed in the
GlusterFS 10 stable release.
Important fixes in this release
- Fix qemu-img crash on a distributed volume
- Fix a possible deadlock scenario In Brick Process
- Allow opening snapshot directory(entrypoint) via
glfs_open()/glfs_h_open() and snapshot directory(entrypoint)
to support functionalities of Samba
- Implement seek fop in DHT and prevent EBADFD related failures
Issues addressed in this release
- [#1000] Fix qemu-img crash on a distributed volume
- [#3774] Fix a possible deadlock scenario In Brick Process
- [#3373] Implement seek fop in DHT and prevent EBADFD related failures
- [#3666] Prevent snapd crashes on opening snapshot directory via gfapi
- [#3765] Allow opening snapshot directory(entrypoint) via
glfs_open()/glfs_h_open()
- [#3307] Fix return from glfs_open() to honour O_DIRECTORY flag for Samba
- [#3725] Fix mismatch in errorcode between fgetxattr() and
glusterfs.get_real_filename
- [#3778] Handle spurious failures of spare_file_rebalance.t test case
Gluster 10.2
This is a bugfix and improvement release. The release notes for 10.0 and
10.1 contain a listing of all the new features that were added and bugs
fixed in the GlusterFS 10 stable release.
Important fixes in this release
- Optimize server functionality by enhancing server_process_event_upcall
code path during the handling of upcall event
- Fix all bricks not starting issue on node reboot when brick count
is high(>750)
- Fix stale posix locks that appear after client disconnection
Bugs addressed
- [#3182] Fix stale posix locks that appear after client disconnection
- [#3187] Fix Locks xlator fd leaks
- [#3234] Fix incorrect directory check inorder to successfully locate
the SSL certificate
- [#3262] Synchronize layout*(ref|unref) during layout*(get|set) in dht
- [#3321] Optimize server functionality by enhancing
server_process_event_upcall code path during the handling
of upcall event
- [#3334] Fix errors and timeouts when creating qcow2 file via libgfapi
- [#3375] Fix all bricks not starting issue on node reboot when brick
count is high(>750)
- [#3417] Fix crash due to unaligned memory access
- [#3470] Fix spurious crash when "peer probing" a non existing host name
Gluster 10.1
This is a bugfix and improvement release. The release notes for 10.0
contain a listing of all the new features that were added and bugs
fixed in the GlusterFS 10 stable release.
Important fixes in this release
- Fix missing stripe count issue with upgrade from 9.x to 10.x
- Fix IO failure when shrinking distributed dispersed volume with ongoing IO
- Fix log spam introduced with glusterfs 10.0
- Enable ltcmalloc_minimal instead of ltcmalloc
Bugs addressed
- [#2846] Avoid redundant logs in gluster
- [#2903] Fix worker disconnect due to AttributeError in geo-replication
- [#2910] Check for available ports in port_range in glusterd
- [#2939] Remove the deprecated commands from gluster man page
- [#2947] Fix IO failure when shrinking distributed dispersed volume
with ongoing IO
- [#3071] Fix log spam introduced with glusterfs 10.0
- [#3000] Enable ltcmalloc_minimal instead of ltcmalloc
- [#3086] Handle excessive log in case dict is NUL
- [#3133] Fix missing stripe count issue with upgrade from 9.x to 10.x
- [#2962] Fix volume create failures without disperse count and ip addresses
Gluster 10.0
This is a major release that includes a range of features, code improvements
and stability fixes as noted below.
Highlights
- Major performance improvement of ~20% w.r.t small files
as well as large files testing in controlled lab environments [#2771]
**NOTE**: The above improvement requires tcmalloc library to be enabled
for building. We have tested and verified tcmalloc in X86_64 platforms
and is enabled only for x86_64 builds in current release.
- Randomized port selection for bricks, improves startup time [#786]
- Performance improvement with use of readdir instead of readdirp in
fix-layout [#2241]
- Heal time improvement with bigger window size [#2067]
Bugs addressed since release-9
- [#504] AFR: remove memcpy() + ntoh32() pattern
- [#705] gf_backtrace_save inefficiencies
- [#782] Do not explicitly call strerror(errnum) when logging
- [#786] glusterd-pmap binds to 10K ports on startup (using IPv4)
- [#904] [bug:1649037] Translators allocate too much memory in their xlator\_
- [#1000] [bug:1193929] GlusterFS can be improved
- [#1002] [bug:1679998] GlusterFS can be improved
- [#1052] [bug:1693692] Increase code coverage from regression tests
- [#1060] [bug:789278] Issues reported by Coverity static analysis tool
- [#1096] [bug:1622665] clang-scan report: glusterfs issues
- [#1101] [bug:1813029] volume brick fails to come online because other proce
- [#1251] performance: improve \_\_afr_fd_ctx_get() function
- [#1339] Rebalance status is not shown correctly after node reboot
- [#1358] features/shard: wrong "inode->ref" leading to ASSERT in inode_unref
- [#1359] Cleanup --disable-mempool
- [#1380] fd_unref() optimization - do an atomic decrement outside the
lock a
- [#1384] mount glusterfs volume, files larger than 64Mb only show 64Mb
- [#1406] shared storage volume fails to mount in ipv6 environment
- [#1415] Removing problematic language in geo-replication
- [#1423] shard_make_block_abspath() should be called with a string of of the
- [#1536] Improve dict_reset() efficiency
- [#1545] fuse_invalidate_entry() - too many repetitive calls to uuid_utoa()
- [#1583] Rework stats structure (xl->stats.total.metrics[fop_idx] and friend
- [#1584] MAINTAINERS file needs to be revisited and updated
- [#1596] 'this' NULL check relies on 'THIS' not being NULL
- [#1600] Save and re-use MYUUID
- [#1678] Improve gf_error_to_errno() and gf_errno_to_error() positive flow
- [#1695] Rebalance has a redundant lookup operation
- [#1702] Move GF_CLIENT_PID_GSYNCD check to start of the function.
- [#1703] Remove trivial check for GF_XATTR_SHARD_FILE_SIZE before calling sh
- [#1707] PL_LOCAL_GET_REQUESTS access the dictionary twice for the same info
- [#1717] glusterd: sequence of rebalance and replace/reset-brick presents re
- [#1723] DHT: further investigation for treating an ongoing mknod's
linkto file
- [#1749] brick-process: call 'notify()' and 'fini()' of brick xlators in a p
- [#1755] Reduce calls to 'THIS' in fd_destroy() and others, where 'THIS' is
- [#1761] CONTRIBUTING.md regression can only be run by maintainers
- [#1764] Slow write on ZFS bricks after healing millions of files due to add
- [#1772] build: add LTO as a configure option
- [#1773] DHT/Rebalance - Remove unused variable dht_migrate_file
- [#1779] Add-brick command should check hostnames with bricks present in vol
- [#1825] Latency in io-stats should be in nanoseconds resolution, not micros
- [#1872] Question: How to check heal info without glusterd management layer
- [#1885] \_\_posix_writev() - reduce memory copies and unneeded zeroing
- [#1888] GD_OP_VERSION needs to be updated for release-10
- [#1898] schedule_georep.py resulting in failure when used with python3
- [#1909] core: Avoid several dict OR key is NULL message in brick logs
- [#1925] dht_pt_getxattr does not seem to handle virtual xattrs.
- [#1935] logging to syslog instead of any glusterfs logs
- [#1943] glusterd-volgen: Add functionality to accept any custom xlator
- [#1952] posix-aio: implement GF_FOP_FSYNC
- [#1959] Broken links in the 2 replicas split-brain-issue - [Bug]Enhancemen
- [#1960] Add missing LOCK_DESTROY() calls
- [#1966] Can't print trace details due to memory allocation issues
- [#1977] Inconsistent locking in presence of disconnects
- [#1978] test case ./tests/bugs/core/bug-1432542-mpx-restart-crash.t is gett
- [#1981] Reduce posix_fdstat() calls in IO paths
- [#1991] mdcache: bug causes getxattr() to report ENODATA when fetching samb
- [#1992] dht: var decommission_subvols_cnt becomes invalid when config is up
- [#1996] Analyze if spinlocks have any benefit and remove them if not
- [#2001] Error handling in /usr/sbin/gluster-eventsapi produces AttributeErr
- [#2005] ./tests/bugs/replicate/bug-921231.t is continuously failing
- [#2013] dict_t hash-calculation can be removed when hash_size=1
- [#2024] Remove gfs_id variable or at least set to appropriate value
- [#2025] list_del() should not set prev and next
- [#2033] tests/bugs/nfs/bug-1053579.t fails on CentOS 8
- [#2038] shard_unlink() fails due to no space to create marker file
- [#2039] Do not allow POSIX IO backend switch when the volume is running
- [#2042] mount ipv6 gluster volume with serveral backup-volfile-servers,use
- [#2052] Revert the commit 50e953e2450b5183988c12e87bdfbc997e0ad8a8
- [#2054] cleanup call_stub_t from unused variables
- [#2063] Provide autoconf option to enable/disable storage.linux-io_uring du
- [#2067] Change self-heal-window-size to 1MB by default
- [#2075] Annotate synctasks with valgrind API if --enable-valgrind[=memcheck
- [#2080] Glustereventsd default port
- [#2083] GD_MSG_DICT_GET_FAILED should not include 'errno' but 'ret'
- [#2086] Move tests/00-geo-rep/00-georep-verify-non-root-setup.t to tests/00
- [#2096] iobuf_arena structure doesn't need passive and active iobufs, but l
- [#2099] 'force' option does not work in the replicated volume snapshot crea
- [#2101] Move 00-georep-verify-non-root-setup.t back to tests/00-geo-rep/
- [#2107] mount crashes when setfattr -n distribute.fix.layout -v "yes" is ex
- [#2116] enable quota for multiple volumes take more time
- [#2117] Concurrent quota enable causes glusterd deadlock
- [#2123] Implement an I/O framework
- [#2129] CID 1445996 Null pointer dereferences (FORWARD_NULL) /xlators/mgmt/
- [#2130] stack.h/c: remove unused variable and reorder struct
- [#2133] Changelog History Crawl failed after resuming stopped geo-replicati
- [#2134] Fix spurious failures caused by change in profile info duration to
- [#2138] glfs_write() dumps a core file file when buffer size is 1GB
- [#2154] "Operation not supported" doing a chmod on a symlink
- [#2159] Remove unused component tests
- [#2161] Crash caused by memory corruption
- [#2169] Stack overflow when parallel-readdir is enabled
- [#2180] CID 1446716: Memory - illegal accesses (USE_AFTER_FREE)
/xlators/mg
- [#2187] [Input/output error] IO failure while performing shrink operation w
- [#2190] Move a test case tests/basic/glusterd-restart-shd-mux.t to flaky
- [#2192] 4+1 arbiter setup is broken
- [#2198] There are blocked inodelks for a long time
- [#2216] Fix coverity issues
- [#2232] "Invalid argument" when reading a directory with gfapi
- [#2234] Segmentation fault in directory quota daemon for replicated volume
- [#2239] rebalance crashes in dht on master
- [#2241] Using readdir instead of readdirp for fix-layout increases performa
- [#2253] Disable lookup-optimize by default in the virt group
- [#2258] Provide option to disable fsync in data migration
- [#2260] failed to list quota info after setting limit-usage
- [#2268] dht_layout_unref() only uses 'this' to check that 'this->private' i
- [#2278] nfs-ganesha does not start due to shared storage not ready, but ret
- [#2287] runner infrastructure fails to provide platfrom independent error c
- [#2294] dict.c: remove some strlen() calls if using DICT_LIST_IMP
- [#2308] Developer sessions for glusterfs
- [#2313] Long setting names mess up the columns and break parsing
- [#2317] Rebalance doesn't migrate some sparse files
- [#2328] "gluster volume set <volname> group samba" needs to include write-b
- [#2330] gf_msg can cause relock deadlock
- [#2334] posix_handle_soft() is doing an unnecessary stat
- [#2337] memory leak observed in lock fop
- [#2348] Gluster's test suite on RHEL 8 runs slower than on RHEL 7
- [#2351] glusterd: After upgrade on release 9.1 glusterd protocol is broken
- [#2353] Permission issue after upgrading to Gluster v9.1
- [#2360] extras: postscript fails on logrotation of snapd logs
- [#2364] After the service is restarted, a large number of handles are not r
- [#2370] glusterd: Issues with custom xlator changes
- [#2378] Remove sys_fstatat() from posix_handle_unset_gfid() function - not
- [#2380] Remove sys_lstat() from posix_acl_xattr_set() - not needed
- [#2388] Geo-replication gets delayed when there are many renames on primary
- [#2394] Spurious failure in tests/basic/fencing/afr-lock-heal-basic.t
- [#2398] Bitrot and scrub process showed like unknown in the gluster volume
- [#2404] Spurious failure of tests/bugs/ec/bug-1236065.t
- [#2407] configure glitch with CC=clang
- [#2410] dict_xxx_sizen variant compilation should fail on passing a variabl
- [#2414] Prefer mallinfo2() to mallinfo() if available
- [#2421] rsync should not try to sync internal xattrs.
- [#2429] Use file timestamps with nanosecond precision
- [#2431] Drop --disable-syslog configuration option
- [#2440] Geo-replication not working on Ubuntu 21.04
- [#2443] Core dumps on Gluster 9 - 3 replicas
- [#2446] client_add_lock_for_recovery() - new_client_lock() should be
called
- [#2467] failed to open /proc/0/status: No such file or directory
- [#2470] sharding: [inode.c:1255:__inode_unlink] 0-inode: dentry not found
- [#2480] Brick going offline on another host as well as the host which reboo
- [#2502] xlator/features/locks/src/common.c has code duplication
- [#2507] Use appropriate msgid in gf_msg()
- [#2515] Unable to mount the gluster volume using fuse unless iptables is fl
- [#2522] ganesha_ha (extras/ganesha/ocf): ganesha_grace RA fails in start()
- [#2540] delay-gen doesn't work correctly for delays longer than 2 seconds
- [#2551] Sometimes the lock notification feature doesn't work
- [#2581] With strict-locks enabled clients which are holding posix locks sti
- [#2590] trusted.io-stats-dump extended attribute usage description error
- [#2611] Granular entry self-heal is taking more time than full entry self h
- [#2617] High CPU utilization of thread glfs_fusenoti and huge delays in som
- [#2620] Granular entry heal purging of index name trigger two lookups in th
- [#2625] auth.allow value is corrupted after add-brick operation
- [#2626] entry self-heal does xattrops unnecessarily in many cases
- [#2649] glustershd failed in bind with error "Address already in use"
- [#2652] Removal of deadcode: Pump
- [#2659] tests/basic/afr/afr-anon-inode.t crashed
- [#2664] Test suite produce uncompressed logs
- [#2693] dht: dht_local_wipe is crashed while running rename operation
- [#2771] Smallfile improvement in glusterfs
- [#2782] Glustereventsd does not listen on IPv4 when IPv6 is not available
- [#2789] An improper locking bug(e.g., deadlock) on the lock up_inode_ctx->c
- [#2798] FUSE mount option for localtime-logging is not exposed
- [#2816] Glusterfsd memory leak when subdir_mounting a volume
- [#2835] dht: found anomalies in dht_layout after commit c4cbdbcb3d02fb56a62
- [#2857] variable twice initialization.
Gluster 9.6
This is a bugfix and improvement release. The release notes for 9.0, 9.1,
9.2, 9.3, 9.4, 9.5 contain a listing of all the new features that were
added and bugs fixed in the GlusterFS 9 stable release.
Important fixes in this release
- Optimize server functionality by enhancing server_process_event_upcall
code path during the handling of upcall event
- Fix all bricks not starting issue on node reboot when brick count is
high(>750)
Issues addressed in this release
- [#2962] Fix volume create without disperse count failures with ip addresses
- [#3177] Locks: Optimize the interrupt flow of POSIX locks
- [#3187] Fix Locks xlator leaks fd's when a blocked posix lock is cancelled
- [#3191] Fix double free issue in the cbk function
dht_common_mark_mdsxattr_cbk
- [#3321] Optimize server functionality by enhancing
server_process_event_upcall code path during the handling
of upcall event
- [#3332] Fix garbage value reported by static analyser
- [#3334] Fix errors and timeouts when creating qcow2 file via libgfapi
- [#3375] Fix all bricks not starting issue on node reboot when brick
count is high(>750)
- [#3470] Fix spurious crash when "peer probing" a non existing host name
Gluster 9.5
This is a bugfix and improvement release. The release notes for 9.0,
9.1, 9.2, 9.3, 9.4 contain a listing of all the new features that
were added and bugs fixed in the GlusterFS 9 stable release.
Important fixes in this release
- Fix rebalance of sparse files [#2317]
- Fix anomalous brick offline scenario on non rebooted node by
preventing bricks from connecting to a backup volfile [#2480]
Issues addressed in this release
- [#2317] Fix rebalance of sparse files
- [#2414] Prefer mallinfo2() to mallinfo() if available
- [#2467] Handle failure in fuse to get gids gracefully
- [#2480] Prevent bricks from connecting to a backup volfile and fix
brick offline scenario on non rebooted node
- [#2846] Avoid redundant logs in glusterd at info level
- [#2903] Fix worker disconnect due to AttributeError in geo-replication
- [#2939] Remove the deprecated commands from gluster man page
Gluster 9.4
This is a bugfix and improvement release. The release notes for 9.0,
9.1, 9.2, 9.3 contain a listing of all the new features that were
added and bugs fixed in the GlusterFS 9 stable release.
Important fixes in this release
- Fix changelog History Crawl resume failures after stop [#2133]
- Fix Stack overflow when parallel-readdir is enabled [#2169]
- Fix rebalance crashes in dht [#2239]
Issues addressed in this release
- [#2133] changelog History Crawl resume fails after stop
- [#2169] Stack overflow when parallel-readdir is enabled
- [#2239] rebalance crashes in dht on master
- [#2625] auth.allow value is corrupted after add-brick operation
- [#2649] glustershd failed in bind with error "Address already in use"
- [#2659] tests/basic/afr/afr-anon-inode.t crashed
- [#2754] It takes a long time to execute the “gluster volume set volumename
- [#2798] FUSE mount option for localtime-logging is not exposed
- [#2690]lusterd: reset mgmt_v3_lock_timeout after it be used
- [#2691] georep-upgrade.t find failures
- [#1101] volume brick fails to come online because other process is
using port 49152
Gluster 9.3
This is a bugfix and improvement release. The release notes for 9.0,
9.1, 9.2 contain a listing of all the new features that were added
and bugs fixed in the GlusterFS 9 stable release.
Important fixes in this release
- Core dumps on Gluster 9 - 3 replicas [#2443]
- geo-rep: Improve handling of gfid mismatches [#2423]
- auth.allow list is corrupted after add-brick (buffer overflow?) [#2524]
Issues addressed in this release
- [#705] gf_backtrace_save inefficiencies
- [#1000] [bug:1193929] GlusterFS can be improved
- [#1384] mount glusterfs volume, files larger than 64Mb only show 64Mb
- [#2388] Geo-replication gets delayed when there are many renames on primary
- [#2394] Spurious failure in tests/basic/fencing/afr-lock-heal-basic.t
- [#2398] Bitrot and scrub process showed like unknown in the gluster volume
- [#2421] rsync should not try to sync internal xattrs.
- [#2440] Geo-replication not working on Ubuntu 21.04
- [#2443] Core dumps on Gluster 9 - 3 replicas
- [#2470] sharding: [inode.c:1255:__inode_unlink] 0-inode: dentry not found
- [#2524] auth.allow list is corrupted after add-brick (buffer overflow?)
Gluster 9.2
This is a bugfix and improvement release. The release notes for 9.0,
9.1 contain a listing of all the new features that were added and bugs
fixed in the GlusterFS 9 stable release.
Important fixes in this release
- After upgrade on release 9.1 glusterd protocol is broken [#2351]
- Disable lookup-optimize by default in the virt group [#2253]
Issues addressed in this release
- [#1909] core: Avoid several dict OR key is NULL message in brick logs
- [#2161] Crash caused by memory corruption
- [#2232] "Invalid argument" when reading a directory with gfapi
- [#2253] Disable lookup-optimize by default in the virt group
- [#2313] Long setting names mess up the columns and break parsing
- [#2337] memory leak observed in lock fop
- [#2351] After upgrade on release 9.1 glusterd protocol is broken
- [#2353] Permission issue after upgrading to Gluster v9.1
Gluster 9.1
This is a bugfix and improvement release. The release notes for 9.0
contain a listing of all the new features that were added
and bugs fixed in the GlusterFS 9 stable release.
Highlights of Release
- Provide autoconf option to enable/disable storage.linux-io_uring
during compilation [#2063]
- Healing data in 1MB chunks instead of 128KB for improving healing
performance [#2067]
Issues addressed in this release
- [#1406] shared storage volume fails to mount in ipv6 environment
- [#1991] mdcache: bug causes getxattr() to report ENODATA when fetchin...
- [#2063] Provide autoconf option to enable/disable storage.linux-io_ur...
- [#2067] Change self-heal-window-size to 1MB by default
- [#2107] mount crashes when setfattr -n distribute.fix.layout -v "yes"...
- [#2154] "Operation not supported" doing a chmod on a symlink
- [#2192] 4+1 arbiter setup is broken
- [#2198] There are blocked inodelks for a long time
- [#2234] Segmentation fault in directory quota daemon for replicated v...
Gluster 9.0
This is a major release that includes a range of features, code
improvements and stability fixes as noted below.
Highlights
- io_uring in Gluster (io_uring support in kernel required along with
the presence of liburing library and headers)
- support running with up to 5000 volumes (Testing done on: 5k volumes
on 3 nodes, brick_mux was enabled with default configuration)
Features
- Added io_uring support for Gluster [#1398]
- Added Support for 5K volumes [#1613]
- Enabled granular-entry-heal by default [#1483]
- Optimizations for rename dir heal [#1211]
- Added support for monitoring the epoll/rpc layer [#1466]
- Brick mux: Added support to spawn a thread per process basis instead
of spawning a per brick [#1482]
- Improve rebalance of sparse files [#1222]
- LTO/GCC10 - Gluster is now compiled with LTO enabled by default [#1772]
Bugs addressed since release-8
- [#718] _store_global_opts(), _storeslaves() , _storeopts() should no...
- [#280] Use internal error codes instead of UNIX errnos
- [#1855] Makefile: failed to compile without git repository
- [#1849] geo-rep: The newly setup geo-rep session goes faulty with syn...
- [#1836] posix: Update ret value in posix_get_gfid2path if GF_MALLOC f...
- [#1810] Implement option to generate core dump at will without killin...
- [#1796] afr: call afr_is_lock_mode_mandatory only while xdata is valid
- [#1794] posix: A brick process is getting crashed at the time of grap...
- [#1782] Rebalance is reporting status twice upon stopping, resulting ...
- [#1778] volume set: failed: ganesha.enable is already 'off'.
- [#1775] core: lru_size showing -1 with zero inodes in the list in the...
- [#1772] build: add LTO as a configure option
- [#1743] Modify format to contain more information while raising glust...
- [#1739] test case ./tests/basic/afr/entry-self-heal-anon-dir-off.t is...
- [#1738] [cli] Improper error message on command timeout
- [#1733] api: conscious language changes
- [#1713] Conscious language changes in various xlators
- [#1699] One brick offline with signal received: 11
- [#1692] Test tests/basic/0symbol-check.t should exclude more contrib/...
- [#1663] test case ./tests/bugs/core/bug-1650403.t is getting timed out
- [#1661] test case ./tests/bugs/bug-1064147.t is continuously failing
- [#1659] wrong comparison in glusterd_brick_start() function
- [#1654] Rebalance/migration per directory/file
- [#1653] io-cache xlators lock/unlock are always accompanied by gf_msg...
- [#1627] Stopping rebalance results in a failure
- [#1613] glusterd[brick_mux]: Optimize friend handshake code to avoid ...
- [#1594] ./tests/00-geo-rep/00-georep-verify-non-root-setup.t fails on...
- [#1587] geo-rep: Enable rsync verbose logging to help debug rsync errors
- [#1584] MAINTAINERS file needs to be revisited and updated
- [#1582] ./rfc.sh doesn't pick upstream correctly
- [#1577] cli-rpc: Call to global quota rpc init even though operation ...
- [#1569] Introduce a compile time --enable-brickmux option to run bric...
- [#1565] Implement pass-through option for write-behind
- [#1550] MAINTAINERS list of DHT needs to be updated
- [#154] Optimized CHANGELOG
- [#1546] Wrong permissions syned to remote brick when using halo repli...
- [#1545] fuse_invalidate_entry() - too many repetitive calls to uuid_u...
- [#1544] file tree memory layout optimization
- [#1543] trash: Create inode_table only while feature is enabled
- [#1542] io-stats: Configure ios_sample_buf_size based on sample_inter...
- [#1541] Geo-rep: some files(hardlinks) are missing in slave after mas...
- [#1540] [RFE] Rebalance: suppurt migration to files with hardlinks (n...
- [#1539] fuse mount crashes on graph-switch when reader-thread-count i...
- [#1538] Need to configure optimum inode table hash_size for shd
- [#1529] Fix regression in on demand migration feature
- [#1526] Brick status is 'stopped' if socket file is absent but brick ...
- [#1518] glusterfs: write operations fail when the size is equal or gr...
- [#1516] Use of strchr glusterd_replace_slash_with_hyphen
- [#1511] Crash due to memory allocation
- [#1508] Add-brick with Increasing replica count fails with bad brick ...
- [#1507] Time-to-completion mechansim in rebalance is broken
- [#1506] tests/000-flaky/bugs_nfs_bug-1116503.t is crashed in in gf_me...
- [#1499] why not use JumpConsistentHash to replace SuperFastHash to ch...
- [#1497] Removing strlen and using the already existing len of data_t
- [#1487] Quota accounting check script fails with UnicodeDecodeError
- [#1483] Enable granular-entry-heal by default
- [#1482] [Brick-mux] Attach several posix threads with glusterfs_ctx
- [#1480] First letter in mount path of bricks are getting truncated fo...
- [#1477] nfs server crashes in acl3svc_init
- [#1476] Changes required at Snaphot as gluster-shared-storage mount p...
- [#1475] gluster_shared_storage failed to automount on node reboot on ...
- [#1472] Readdir-ahead leads to inconsistent ls results
- [#1466] RPC handling latencies should be printed in statedump
- [#1464] Avoid dict OR key (link-count) is NULL [Invalid argument] mes...
- [#1459] gluster_shared_storage failed to automount on node reboot on ...
- [#1453] Disperse shd heal activity should be observable
- [#1442] Remove Glusterfs SELinux module from Distribution's selinux-p...
- [#1440] glusterfs 7.7 fuse client memory leak
- [#1438] syncdaemon/syncdutils.py: SyntaxWarning: "is" with a literal....
- [#1434] Inform failures while fop failed in disperse volume due to so...
- [#1428] Redundant check in dict_get_with_refn()
- [#1427] Bricks failed to restart after a power failure
- [#1425] optimization over shard lookup in case of prealloc
- [#1422] Rebalance - new volume option to turn on/off optimization in ...
- [#1418] GlusterFS 8.0: Intermittent error:1408F10B:SSL routines:SSL3\_...
- [#1416] Dependencies of performance.parallel-readdir should be automa...
- [#1410] 01-georep-glusterd-tests.t times out on centos7 builders
- [#1407] glusterd keep crashing when upgrading from 6.5 to 7.7
- [#1406] shared storage volume fails to mount in ipv6 environment
- [#1404] Client side split-brain resolution using favourite-child-poli...
- [#1403] Tests failure on C8: ./tests/features/ssl-ciphers.t
- [#1401] quota_fsck.py throws TypeError
- [#1400] Annotate synctasks with tsan API if --enable-tsan is requested
- [#1399] Add xlator identifiers in statedumps for mem-pools
- [#1398] io_uring support in glusterfs main branch
- [#1397] glusterd_check_brick_order() is needlessly fetching volname, ...
- [#1396] [bug-1851989] smallfile performance drops after commit the pa...
- [#1395] optimize dict_serialized_length_lk function
- [#1391] allow add-brick from nodes which are not part of auth.allow list
- [#1385] High CPU utilization by self-heal on disperse volumes when an...
- [#1383] Remove contrib/sunrpc/xdr_sizeof.c
- [#1381] Optional FUSE notitications
- [#1379] Fix NULL pointer
- [#1378] Use better terminology and wording in the code
- [#1377] Glustereventsd to accept not only IPv4 but IPv6 packets too.
- [#1376] Runtime & Build Fixes for FreeBSD
- [#1375] cluster: mount.glusterfs is stuck when trying to mount unknow...
- [#1374] fuse interrupt issues identified in code review
- [#1371] [RHEL 8.1] [Input/output error] observed in remove-brick oper...
- [#1366] geo-replication session fails to start with IPV6
- [#1361] Screen .attribute directories on NetBSD
- [#1359] Cleanup --disable-mempool
- [#1357] options should display not only current values but also defau...
- [#1356] cli: type mismatch global_quotad_rpc in cli-quotad-client.c
- [#1355] Heal info desn't show split-brain info if halo is enabled
- [#1354] High CPU utilization by self-heal on disperse volumes with no...
- [#1353] errors seen with gluster v get all all
- [#1352] api: libgfapi symbol versions break LTO in Fedora rawhide/f33
- [#1351] issue with gf_fill_iatt_for_dirent()
- [#1350] Simplify directory scanning
- [#1348] Fuse mount crashes in shard translator when truncating a \*rea...
- [#1347] NetBSD build fixes
- [#1339] Rebalance status is not shown correctly after node reboot
- [#1332] Unable to Upgrade to Gluster 7 from Earlier Version
- [#1329] Move platform-dependent filesystem sync to a library function
- [#1328] Linux kernel untar failed with errors immediate after add-brick
- [#1327] Missing directory is not healed in dht
- [#1324] Inconsistent custom xattr on backend directories after bringi...
- [#1320] Unified support for building with sanitizers
- [#1311] Data race when handling connection status
- [#1310] tests/features/flock_interrupt.t leads to error logs
- [#1306] add-brick command is failing
- [#1303] Failures in rebalance due to [Input/output error]
- [#1302] always print errno (and use English locale for strerror() out...
- [#1291] Free volume info lock and mutex
- [#1290] Test case brick-mux-validation-in-cluster.t is failing on RHEL-8
- [#1289] glustereventsd log file isn't reopened after rotation
- [#1285] Use-after-destroy mutex error
- [#1283] Undefined behavior in \_\_builtin_ctz
- [#1282] New file created with xattr "trusted.glusterfs.dht"
- [#1281] Unlinking the file with open fd, returns ENOENT or stale file...
- [#1279] Fix several signed integer overflows
- [#1278] Fix memory leak in afr_priv_destroy()
- [#1275] Make glusterfs compile on all recent and supported versions o...
- [#1272] tests/bugs/glusterd/mgmt-handshake-and-volume-sync-post-glust...
- [#1269] common-ha: ganesha-ha.sh bad test for {rhel,centos} for pcs o...
- [#1263] Fix memory leak in glusterd_store_retrieve_bricks()
- [#1260] Implement minimal proper synchronization for gf_attach
- [#1259] Fix memory leak in gf_cli_gsync_status_output()
- [#1258] dht: Add null check
- [#1255] Improve snapshot clone error message
- [#1254] Prioritize ENOSPC over other lesser priority errors
- [#1253] On Ovirt setup glusterfs performs poorly
- [#1250] geo-rep: Fix corner case in rename on mkdir during hybrid crawl
- [#1249] Drop 'const' type qualifier on return type
- [#1248] Fix thread naming and related convention
- [#1245] Spurious failures in ./tests/basic/ec/ec-quorum-count.t
- [#1243] Modify and return iatt (especially size and block-count) in s...
- [#1242] Rebalance - Improve Crawl time in rebalance
- [#1240] tests/basic/afr/gfid-mismatch-resolution-with-fav-child-polic...
- [#1236] glusterfs-geo-replication requires policycoreutils-python-uti...
- [#1234] Fix ./tests/basic/fencing/afr-lock-heal-basic.t failure
- [#1230] core dumped executing tests/line-coverage/errorgen-coverage.t
- [#1228] seek functionalty is broken
- [#1226] Gluster webhook update throws error
- [#1225] fuse causes glusterd to dump core
- [#1223] Failure of tests/basic/gfapi/gfapi-copy-file-range.t
- [#1222] [RFE] Improve rebalance of sparse files
- [#1221] features/bit-rot: invalid snprintf() buffer size
- [#1220] cluster/ec: return correct error code and log the message in ...
- [#1218] dht: Do opendir selectively in gf_defrag_process_dir
- [#1217] Modify group "virt" to add rpc/network related changes
- [#1214] Running tests/basic/afr/inodelk.t on my VM crashes in dht
- [#1211] AFR: Rename dir heal shouldn't delete the directory at oldloc...
- [#1209] tests: georep-upgrade.t test failure
- [#1208] warning: initializer overrides prior initialization of this s...
- [#1207] warning: passing an object that undergoes default argument pr...
- [#1204] GD_OP_VERSION needs to be updated
- [#1202] Issues reported by Coverity static analysis tool
- [#1200] Handle setxattr and rm race for directory in rebalance
- [#1197] Geo-replication tests are spuriously failing in CI
- [#1196] glusterfsd is having a leak while only mgmt SSL is enabled
- [#1193] Scheduling of snapshot for a volume is failing to create snap...
- [#1190] spurious failure of tests/basic/quick-read-with-upcall.t
- [#1187] Failures in rebalance due to [No space left on device] error ...
- [#1182] geo-rep requires relevant selinux permission for rsync
- [#1179] gnfs split brain when 1 server in 3x1 down (high load)
- [#1172] core, cli, quota: cleanup malloc debugging and stats
- [#1169] common-ha: cluster status shows "FAILOVER" even when all node...
- [#1164] migrate remove-brick operation to mgmt v3 frameowrk
- [#1154] failing test cases
- [#1135] Fix @sysconfdir@ expansion in extras/systemd/glusterd.service...
- [#1126] packaging: overhaul glusterfs.spec(.in) to align with SUSE an...
- [#1116] [bug:1790736] gluster volume list returning wrong volume list...
- [#1101] [bug:1813029] volume brick fails to come online because other...
- [#1097] [bug:1635688] Keep only the valid (maintained/supported) comp...
- [#1096] [bug:1622665] clang-scan report: glusterfs issues
- [#1075] [bug:1299203] resolve-gids is not needed for Linux kernels v3...
- [#1072] [bug:1251614] gf_defrag_fix_layout recursively fails, distrac...
- [#1060] [bug:789278] Issues reported by Coverity static analysis tool
- [#1052] [bug:1693692] Increase code coverage from regression tests
- [#1050] [bug:1787325] TLS/SSL access of GlusterFS mounts is slower th...
- [#1047] [bug:1774379] check for same hostnames(bricks from same host/...
- [#1043] [bug:1793490] snapshot clone volume is not exported via NFS-G...
- [#1009] [bug:1756900] tests are failing in RHEL8 regression
- [#1002] [bug:1679998] GlusterFS can be improved
- [#1000] [bug:1193929] GlusterFS can be improved
- [#990] [bug:1578405] EIO errors when updating and deleting entries c...
- [#952] [bug:1589705] quick-read: separate performance.cache-size tun...
- [#876] [bug:1797099] After upgrade from gluster 7.0 to 7.2 posix-acl...
- [#874] [bug:1793390] Pre-validation failure does not provide any hin...
- [#837] Indicate timezone offset in formatted timestamps
- [#829] gfapi: Using ssl and glfs_set_volfile together does not work
- [#827] undefined symbol: xlator_api
- [#824] Migrate bugzilla workflow to github issues workflow
- [#816] RFE: Data/MetaData separator Translator
- [#790] infinite loop in common-utils.c - gf_rev_dns_lookup_cache() ?
- [#763] thin-arbiter: Testing report
Gluster 8.6
This is a bugfix release. The release notes for 8.0, 8.1, 8.2, 8.3,
8.4 and 8.5 contain a listing of all the new features that were added
and bugs fixed in the GlusterFS 8 stable release.
Important fixes in this release
- Improvement in handling of gfid mismatches of geo-rep: Geo-replication
gets delayed when there are many renames on primary volume [#2388]
- Resolve core dumps on Gluster 9 - 3 replicas: Initialize list head to
prevent NULL de-reference [#2443]
Issues addressed in this release
- [#2388] Geo-replication gets delayed when there are many renames on
primary volume
- [#2689]lusterd: reset mgmt_v3_lock_timeout after it be used
- [#1000] GlusterFS can be improved: fix getcwd usage warning
- [#2394] Spurious failure in tests/basic/fencing/afr-lock-heal-basic.t
- [#2691] georep-upgrade.t find failures
- [#154](ptimized CHANGELOG: upgrade script for geo-rep
- [#2443] Core dumps on Gluster 9 - 3 replicas: Initialize list head
to prevent NULL de-reference
- [#2404] Spurious failure of tests/bugs/ec/bug-1236065.t
Gluster 8.5
This is a bugfix release. The release notes for 8.0), 8.1, 8.2, 8.3
and 8.4 contain a listing of all the new features that were added
and bugs fixed in the GlusterFS 8 stable release.
Important fixes in this release
- Slow write on ZFS bricks after healing millions of files due to
adding arbiter brick [#1764]
- 4+1 arbiter setup is broken [#2192]
Issues addressed in this release
- [#1214] Running tests/basic/afr/inodelk.t on my VM crashes in dht
- [#1324] Inconsistent custom xattr on backend directories after bringing bac
- [#1764] Slow write on ZFS bricks after healing millions of files due to add
- [#2161] Crash caused by memory corruption
- [#2192] 4+1 arbiter setup is broken
- [#2198] There are blocked inodelks for a long time
- [#2210] glusterfsd memory leak observed when constantly running volume heal
- [#2234] Segmentation fault in directory quota daemon for replicated volume
- [#2253] Disable lookup-optimize by default in the virt group
- [#2313] Long setting names mess up the columns and break parsing
Gluster 8.4
This is a bugfix release. The release notes for 8.0), 8.1, 8.2 and 8.3
contain a listing of all the new features that were added
and bugs fixed in the GlusterFS 8 stable release.
Highlights of Release
Healing data in 1MB chunks instead of 128KB for improving healing
performance [#2067].
Issues addressed in this release
- [#2154] "Operation not supported" doing a chmod on a symlink
- [#2107] mount crashes when setfattr -n distribute.fix.layout -v "yes"...
- [#1991] mdcache: bug causes getxattr() to report ENODATA when fetchin...
- [#1925] dht_pt_getxattr does not seem to handle virtual xattrs.
- [#1539] fuse mount crashes on graph-switch when reader-thread-count i...
- [#1529] Fix regression in on demand migration feature
- [#1406] shared storage volume fails to mount in ipv6 environment
Gluster 8.3
This is a bugfix release. The release notes for 8.0, 8.1 and 8.2
contain a listing of all the new features that were added
and bugs fixed in the GlusterFS 8 stable release.
Highlights of Release
This release contains majorly the bug fixes as described in the issues
section.
Issues addressed in this release
- [#1836] posix: Update ret value in posix_get_gfid2path if GF_MALLOC fails
- [#1796] afr: call afr_is_lock_mode_mandatory only while xdata is valid
- [#1778] volume set: failed: ganesha.enable is already 'off'.
- [#1738] [cli] Improper error message on command timeout
- [#1699] One brick offline with signal received: 11
- [#1663] test case ./tests/bugs/core/bug-1650403.t is getting timed out
- [#1601] rfc.sh on release-8 needs to move to github flow
- [#1499] why not use JumpConsistentHash to replace SuperFastHash to cho...
- [#1438] syncdaemon/syncdutils.py: SyntaxWarning: "is" with a literal. ...
- [#1221] features/bit-rot: invalid snprintf() buffer size
- [#1060] [bug:789278] Issues reported by Coverity static analysis tool
- [#1002] [bug:1679998] GlusterFS can be improved
- [#1000] [bug:1193929] GlusterFS can be improved
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=509f585558fa259bfde35768544633cfb70a92ca
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
glusterfs/DESCR | 4 -
glusterfs/MESSAGE.NetBSD | 19 +-
glusterfs/Makefile | 103 +++++------
glusterfs/PLIST | 193 +++++++++++----------
glusterfs/distinfo | 13 +-
glusterfs/files/glusterd.sh | 16 +-
glusterfs/patches/patch-configure | 75 ++++++++
glusterfs/patches/patch-configure.ac | 35 ++++
.../patch-libglusterfs-src-glusterfs-dict.h | 43 +++++
glusterfs/patches/patch-rpc_rpc-lib_src_rpcsvc.c | 26 ---
...ors_performance_write-behind_src_write-behind.c | 28 ---
11 files changed, 325 insertions(+), 230 deletions(-)
diffs:
diff --git a/glusterfs/DESCR b/glusterfs/DESCR
index b4ea92c912..34183e0b14 100644
--- a/glusterfs/DESCR
+++ b/glusterfs/DESCR
@@ -1,6 +1,3 @@
-
-GlusterFS Version 7.1
-
GlusterFS is a flexible, powerful, POSIX-compliant cluster filesystem
that can scale to several petabytes.
@@ -12,4 +9,3 @@ 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.
-
diff --git a/glusterfs/MESSAGE.NetBSD b/glusterfs/MESSAGE.NetBSD
index 064c57fc3d..c9c1252217 100644
--- a/glusterfs/MESSAGE.NetBSD
+++ b/glusterfs/MESSAGE.NetBSD
@@ -1,5 +1,5 @@
===========================================================================
-$NetBSD: MESSAGE.NetBSD,v 1.16 2014/11/20 16:12:48 wiz Exp $
+$NetBSD: MESSAGE.NetBSD,v 1.19 2020/08/28 14:55:18 gdt Exp $
*** GlusterFS clients ***
This is required in /etc/sysctl.conf in order to avoid hangs on I/O operations
@@ -10,23 +10,12 @@ This is required in /etc/sysctl.conf in order to avoid hangs on I/O operations
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
+mount with -o extattr
+ .attribute/system
+ .attribute/user
===========================================================================
diff --git a/glusterfs/Makefile b/glusterfs/Makefile
index 393da390e0..9a14a83e18 100644
--- a/glusterfs/Makefile
+++ b/glusterfs/Makefile
@@ -1,29 +1,42 @@
-DISTNAME= glusterfs-7.1
-PKGREVISION= 1
-CATEGORIES= filesystems
+# $NetBSD: Makefile,v 1.109 2022/06/30 11:18:23 nia Exp $
-DEPENDS+= argp>=1.3:../../devel/argp
+DISTNAME= glusterfs-10.3
+PKGREVISION= 9
+CATEGORIES= filesystems
+MASTER_SITES= http://bits.gluster.org/pub/gluster/glusterfs/src/
-MASTER_SITES= http://bits.gluster.org/pub/gluster/glusterfs/src/
-EXTRACT_SUFX= .tar.gz
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://www.gluster.org/
+COMMENT= Cluster filesystem
+LICENSE= gnu-gpl-v3
-MAINTAINER= jhigh%NetBSD.org@localhost
-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"
+USE_TOOLS+= flex bison pkg-config bash autoconf autoreconf automake
CONFIGURE_ARGS+= --disable-fusermount
+CONFIGURE_ARGS+= --disable-fuse-notifications
CONFIGURE_ARGS+= --localstatedir=${VARBASE}
-
+CONFIGURE_ARGS+= --without-tcmalloc
+
+# While glusterfs never really supported 32bit platforms, older versions
+# tended to work. By now, it will die with SIGILL (executing ud2) on 32bit
+# (tested in i386) due to not being able to atomically update a 64bit value.
+BROKEN_ON_PLATFORM+= *-*-earm*
+BROKEN_ON_PLATFORM+= *-*-hppa
+BROKEN_ON_PLATFORM+= *-*-i386
+BROKEN_ON_PLATFORM+= *-*-m68000
+BROKEN_ON_PLATFORM+= *-*-m68k
+BROKEN_ON_PLATFORM+= *-*-mipseb
+BROKEN_ON_PLATFORM+= *-*-mipsel
+BROKEN_ON_PLATFORM+= *-*-powerpc
+BROKEN_ON_PLATFORM+= *-*-riscv32
+BROKEN_ON_PLATFORM+= *-*-sparc
+BROKEN_ON_PLATFORM+= *-*-vax
+
+# Make sure we do not attept to link with -lfl
+# Only libfl.a is available, and libtool wants libfl.so
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
@@ -65,41 +78,33 @@ 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+= extras/thin-arbiter/setup-thin-arbiter.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"
+# Explicit substitution of bash
+CHECK_PORTABILITY_SKIP+= extras/peer_add_secret_pub.in
+
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_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,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_FILES.etc= libglusterfs/src/logging.c
+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
+#EGDIR= ${PREFIX}/etc/glusterfs
+#CONF_FILES+= ${EGDIR}/glusterd.vol.sample ${EGDIR}/glusterd.vol
OWN_DIRS+= ${VARBASE}/log/glusterfs
BUILD_DEFS+= VARBASE
@@ -110,39 +115,39 @@ 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
+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
+CFLAGS+= -g
+INSTALL_UNSTRIPPED= yes
+CONFIGURE_ARGS+= --enable-debug
#.include "../../devel/boehm-gc/buildlink3.mk"
#CFLAGS+= -DGC_DEBUG
#CFLAGS+= -include gc.h
-#LIBS+= -largp
+#LIBS+= -lgc
+
+TOOL_DEPENDS+= automake>=1.13:../../devel/automake
.include "../../mk/bsd.prefs.mk"
+.include "../../devel/libuuid/buildlink3.mk"
.include "../../devel/argp/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../databases/sqlite3/buildlink3.mk"
+BUILDLINK_API_DEPENDS.userspace-rcu+= userspace-rcu>=0.12.1
.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
diff --git a/glusterfs/PLIST b/glusterfs/PLIST
index cdecccf911..946c86588b 100644
--- a/glusterfs/PLIST
+++ b/glusterfs/PLIST
@@ -1,5 +1,15 @@
-@comment $NetBSD$
+@comment $NetBSD: PLIST,v 1.40 2020/07/07 01:01:27 manu Exp $
+${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
bin/glusterfind
+etc/ganesha/ganesha-ha.conf.sample
etc/glusterfs/eventsconfig.json
etc/glusterfs/gluster-rsyslog-5.8.conf
etc/glusterfs/gluster-rsyslog-7.2.conf
@@ -28,6 +38,7 @@ include/glusterfs/client_t.h
include/glusterfs/cluster-syncop.h
include/glusterfs/common-utils.h
include/glusterfs/compat-errno.h
+include/glusterfs/compat-io_uring.h
include/glusterfs/compat-uuid.h
include/glusterfs/compat.h
include/glusterfs/daemon.h
@@ -38,13 +49,18 @@ include/glusterfs/event-history.h
include/glusterfs/events.h
include/glusterfs/fd-lk.h
include/glusterfs/fd.h
+include/glusterfs/gd-common-utils.h
include/glusterfs/gf-dirent.h
include/glusterfs/gf-event.h
+include/glusterfs/gf-io-common.h
+include/glusterfs/gf-io-legacy.h
+include/glusterfs/gf-io.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-fops.h
include/glusterfs/glusterfs.h
include/glusterfs/graph-utils.h
include/glusterfs/hashfn.h
@@ -63,24 +79,17 @@ 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
@@ -94,7 +103,6 @@ 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
@@ -119,87 +127,86 @@ 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/glusterfs/${GLUSTERFS_VERSION}/auth/addr.la
+lib/glusterfs/${GLUSTERFS_VERSION}/auth/login.la
+lib/glusterfs/${GLUSTERFS_VERSION}/rpc-transport/socket.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/cluster/afr.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/cluster/dht.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/cluster/disperse.so
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/cluster/distribute.so
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/cluster/ec.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/cluster/nufa.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/cluster/replicate.so
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/cluster/switch.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/debug/delay-gen.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/debug/error-gen.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/debug/io-stats.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/debug/sink.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/debug/trace.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/access-control.so
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/arbiter.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/barrier.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/bit-rot.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/bitrot-stub.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/cdc.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/changelog.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/gfid-access.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/index.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/leases.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/locks.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/marker.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/namespace.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/posix-locks.so
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/quiesce.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/quota.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/quotad.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/read-only.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/sdfs.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/selinux.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/shard.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/snapview-client.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/snapview-server.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/thin-arbiter.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/trash.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/upcall.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/utime.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/features/worm.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/meta.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/mgmt/glusterd.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/mount/api.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/mount/fuse.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/performance/io-cache.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/performance/io-threads.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/performance/md-cache.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/performance/nl-cache.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/performance/open-behind.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/performance/quick-read.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/performance/read-ahead.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/performance/readdir-ahead.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/performance/stat-prefetch.so
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/performance/write-behind.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/playground/template.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/protocol/client.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/protocol/server.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/storage/posix.la
+lib/glusterfs/${GLUSTERFS_VERSION}/xlator/system/posix-acl.la
lib/libgfapi.la
lib/libgfchangelog.la
lib/libgfrpc.la
lib/libgfxdr.la
+lib/libglusterd.la
lib/libglusterfs.la
lib/ocf/resource.d/glusterfs/glusterd
lib/ocf/resource.d/glusterfs/volume
+lib/ocf/resource.d/heartbeat/ganesha_grace
+lib/ocf/resource.d/heartbeat/ganesha_mon
+lib/ocf/resource.d/heartbeat/ganesha_nfsd
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/ganesha/create-export-ganesha.sh
+libexec/ganesha/dbus-send.sh
+libexec/ganesha/ganesha-ha.sh
+libexec/ganesha/generate-epoch.py
libexec/glusterfs/gfevents/__init__.py
libexec/glusterfs/gfevents/__init__.pyc
libexec/glusterfs/gfevents/__init__.pyo
@@ -223,6 +230,7 @@ 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/glfsheal
libexec/glusterfs/glusterfind/S57glusterfind-delete-post.py
libexec/glusterfs/glusterfind/__init__.py
libexec/glusterfs/glusterfind/__init__.pyc
@@ -264,9 +272,6 @@ 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
@@ -288,12 +293,12 @@ 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/primary.py
+libexec/glusterfs/python/syncdaemon/primary.pyc
+libexec/glusterfs/python/syncdaemon/primary.pyo
libexec/glusterfs/python/syncdaemon/py2py3.py
libexec/glusterfs/python/syncdaemon/py2py3.pyc
libexec/glusterfs/python/syncdaemon/py2py3.pyo
@@ -312,6 +317,12 @@ 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/scripts/generate-gfid-file.sh
+libexec/glusterfs/scripts/get-gfid.sh
+libexec/glusterfs/scripts/gsync-sync-gfid
+libexec/glusterfs/scripts/gsync-upgrade.sh
+libexec/glusterfs/scripts/schedule_georep.py
+libexec/glusterfs/scripts/secondary-upgrade.sh
libexec/glusterfs/set_geo_rep_pem_keys.sh
man/man8/gluster-setgfid2path.8
man/man8/gluster.8
@@ -323,7 +334,6 @@ sbin/conf.py
sbin/gcron.py
sbin/gf_attach
sbin/gfind_missing_files
-sbin/glfsheal
sbin/gluster
sbin/gluster-eventsapi
sbin/gluster-georep-sshkey
@@ -343,14 +353,9 @@ 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/examples/rc.d/glusterd
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
diff --git a/glusterfs/distinfo b/glusterfs/distinfo
index b8b2910cfc..18bf24f9bd 100644
--- a/glusterfs/distinfo
+++ b/glusterfs/distinfo
@@ -1,7 +1,8 @@
-$NetBSD$
+$NetBSD: distinfo,v 1.73 2021/10/26 10:25:29 nia Exp $
-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
+BLAKE2s (glusterfs-10.3.tar.gz) = c2f9b5670d1df7a787e445207caa421a949f1fb98cafb587441925efe8d9e25a
+SHA512 (glusterfs-10.3.tar.gz) = af7c8a15db48196a5f7022e4da87ae8d8d43a12c8968b242f40fb43ea562d1d214e75b3a67800f8594c97847e15c01367b6d464964252551d6f8d3e93fb0f832
+Size (glusterfs-10.3.tar.gz) = 8283537 bytes
+SHA1 (patch-configure) = ab60e8108975d04b19e5846abb4c56965bcded91
+SHA1 (patch-configure.ac) = fff9e2e1c7bf9959188dc0cb35bf9a09dc14b67b
+SHA1 (patch-libglusterfs-src-glusterfs-dict.h) = 1e2d7c61adc773060b19ec0656c7dbfdab19b270
diff --git a/glusterfs/files/glusterd.sh b/glusterfs/files/glusterd.sh
index dbba19de52..e3a612774e 100755
--- a/glusterfs/files/glusterd.sh
+++ b/glusterfs/files/glusterd.sh
@@ -6,14 +6,6 @@
# 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()
@@ -32,6 +24,14 @@ glusterd_precmd()
fi
}
+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"
+
load_rc_config $name
run_rc_command "$1"
diff --git a/glusterfs/patches/patch-configure b/glusterfs/patches/patch-configure
new file mode 100644
index 0000000000..7c276c4de2
--- /dev/null
+++ b/glusterfs/patches/patch-configure
@@ -0,0 +1,75 @@
+$NetBSD$
+
+Defang bash 4.0 syntax in configure and check for sizeof(time_t).
+
+upstream bugs
+ - (bash) https://github.com/gluster/glusterfs/issues/3940
+ - (sizeof(time_t)) https://github.com/gluster/glusterfs/issues/3942
+
+--- configure.orig 2023-01-08 22:27:37.625063111 +0100
++++ configure 2023-01-08 22:26:52.017860403 +0100
+@@ -778,6 +778,7 @@
+ MATH_LIB
+ YFLAGS
+ YACC
++SIZEOF_TIME_T
+ SIZEOF_LONG_LONG
+ SIZEOF_LONG
+ SIZEOF_INT
+@@ -13640,6 +13641,43 @@
+
+
+
++# size of time_t
++# The cast to long int works around a bug in the HP C Compiler
++# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
++# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
++# This bug is HP SR number 8606223364.
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5
++$as_echo_n "checking size of time_t... " >&6; }
++if ${ac_cv_sizeof_time_t+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (time_t))" "ac_cv_sizeof_time_t" "$ac_includes_default"; then :
++
++else
++ if test "$ac_cv_type_time_t" = yes; then
++ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error 77 "cannot compute sizeof (time_t)
++See \`config.log' for more details" "$LINENO" 5; }
++ else
++ ac_cv_sizeof_time_t=0
++ fi
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_time_t" >&5
++$as_echo "$ac_cv_sizeof_time_t" >&6; }
++
++
++
++cat >>confdefs.h <<_ACEOF
++#define SIZEOF_TIME_T $ac_cv_sizeof_time_t
++_ACEOF
++
++
++SIZEOF_TIME_T=$ac_cv_sizeof_time_t
++
++
+ # YACC needs a check
+ for ac_prog in 'bison -y' byacc
+ do
+@@ -20213,10 +20251,10 @@
+ echo "Building with LTO : $LTO_BUILD"
+ echo
+
+-# dnl Note: ${X^^} capitalization assumes bash >= 4.x
+ if test "x$SANITIZER" != "xnone"; then
++ UC_SANITIZER=$(echo ${SANITIZER} | tr 'a-z' 'A-Z')
+ echo "Note: since glusterfs processes are daemon processes, use"
+- echo "'export ${SANITIZER^^}_OPTIONS=log_path=/path/to/xxx.log' to collect"
++ echo "'export ${UC_SANITIZER}_OPTIONS=log_path=/path/to/xxx.log' to collect"
+ echo "sanitizer output. Further details and more options can be"
+ echo "found at https://github.com/google/sanitizers."
+ fi
diff --git a/glusterfs/patches/patch-configure.ac b/glusterfs/patches/patch-configure.ac
new file mode 100644
index 0000000000..a7d7ae5b09
--- /dev/null
+++ b/glusterfs/patches/patch-configure.ac
@@ -0,0 +1,35 @@
+$NetBSD$
+
+Defang bash 4.0 syntax in configure and check for sizeof(time_t).
+
+upstream bugs
+ - (bash) https://github.com/gluster/glusterfs/issues/3940
+ - (sizeof(time_t)) https://github.com/gluster/glusterfs/issues/3942
+
+--- configure.ac.orig 2023-01-01 23:19:38.254216893 +0100
++++ configure.ac 2023-01-02 15:14:21.968041528 +0100
+@@ -544,6 +544,11 @@
+ AC_SUBST(SIZEOF_LONG)
+ AC_SUBST(SIZEOF_LONG_LONG)
+
++# size of time_t
++AC_CHECK_SIZEOF(time_t)
++SIZEOF_TIME_T=$ac_cv_sizeof_time_t
++AC_SUBST(SIZEOF_TIME_T)
++
+ # YACC needs a check
+ AC_PROG_YACC
+ if test "x${YACC}" = "xbyacc" -o "x${YACC}" = "xyacc" -o "x${YACC}" = "x"; then
+@@ -1896,10 +1901,10 @@
+ echo "Building with LTO : $LTO_BUILD"
+ echo
+
+-# dnl Note: ${X^^} capitalization assumes bash >= 4.x
+ if test "x$SANITIZER" != "xnone"; then
++ UC_SANITIZER=$(echo ${SANITIZER} | tr 'a-z' 'A-Z')
+ echo "Note: since glusterfs processes are daemon processes, use"
+- echo "'export ${SANITIZER^^}_OPTIONS=log_path=/path/to/xxx.log' to collect"
++ echo "'export ${UC_SANITIZER}_OPTIONS=log_path=/path/to/xxx.log' to collect"
+ echo "sanitizer output. Further details and more options can be"
+ echo "found at https://github.com/google/sanitizers."
+ fi
diff --git a/glusterfs/patches/patch-libglusterfs-src-glusterfs-dict.h b/glusterfs/patches/patch-libglusterfs-src-glusterfs-dict.h
new file mode 100644
index 0000000000..a1ed96b951
--- /dev/null
+++ b/glusterfs/patches/patch-libglusterfs-src-glusterfs-dict.h
@@ -0,0 +1,43 @@
+$NetBSD$
+
+Do not take for granted that __WORDSIZE is defined to distinguish
+between 32 and 64 bit platforms. Instead use ULONG_MAX from <limits.h>
+which is mandated by ISO C99.
+
+Still not a good solution, as __WORDSIZE is used as a proxy for sizeof(time_t),
+but some superficial tests indicate that sizeof(time_t) seems to track with
+machine word size on reasonably current platforms.
+
+upstream bug https://github.com/gluster/glusterfs/issues/3942
+
+--- libglusterfs/src/glusterfs/dict.h.orig 2023-01-01 23:19:50.909999764 +0100
++++ libglusterfs/src/glusterfs/dict.h 2023-01-01 23:09:15.920888776 +0100
+@@ -15,6 +15,7 @@
+ #include <sys/uio.h>
+ #include <pthread.h>
+
++#include "config.h"
+ #include "glusterfs/common-utils.h"
+
+ typedef struct _data data_t;
+@@ -320,17 +321,17 @@
+ dict_set_uint64(dict_t *this, char *key, uint64_t val);
+
+ /* POSIX-compliant systems requires the 'time_t' to be a signed integer. */
+-#if __WORDSIZE == 64
++#if SIZEOF_TIME_T == 8
+ #define dict_get_time(dict, key, val) dict_get_int64((dict), (key), (val))
+ #define dict_set_time(dict, key, val) dict_set_int64((dict), (key), (val))
+-#elif __WORDSIZE == 32
++#elif SIZEOF_TIME_T == 4
+ #define dict_get_time(dict, key, val) \
+ dict_get_int32((dict), (key), ((int32_t *)(val)))
+ #define dict_set_time(dict, key, val) \
+ dict_set_int32((dict), (key), ((int32_t)(val)))
+ #else
+ #error "unknown word size"
+-#endif /* WORDSIZE check */
++#endif /* SIZEOF_TIME_T check */
+
+ GF_MUST_CHECK int
+ dict_check_flag(dict_t *this, char *key, int flag);
diff --git a/glusterfs/patches/patch-rpc_rpc-lib_src_rpcsvc.c b/glusterfs/patches/patch-rpc_rpc-lib_src_rpcsvc.c
deleted file mode 100644
index 53674480dd..0000000000
--- a/glusterfs/patches/patch-rpc_rpc-lib_src_rpcsvc.c
+++ /dev/null
@@ -1,26 +0,0 @@
-$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);
diff --git a/glusterfs/patches/patch-xlators_performance_write-behind_src_write-behind.c b/glusterfs/patches/patch-xlators_performance_write-behind_src_write-behind.c
deleted file mode 100644
index d388373ac1..0000000000
--- a/glusterfs/patches/patch-xlators_performance_write-behind_src_write-behind.c
+++ /dev/null
@@ -1,28 +0,0 @@
-$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);
Home |
Main Index |
Thread Index |
Old Index