pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Update glusterfs from 10.3 to 10.4



Module Name:	pkgsrc-wip
Committed By:	Alexander Schreiber <als%thangorodrim.de@localhost>
Pushed By:	als
Date:		Sat Apr 22 11:15:26 2023 +0000
Changeset:	86caf0a93005fd249641c43b71f318465831e6db

Modified Files:
	glusterfs/Makefile
	glusterfs/PLIST.common
	glusterfs/distinfo

Log Message:
Update glusterfs from 10.3 to 10.4

Changelog from upstream:

commit 1806d64310627e4f7c945a631a33d977114ce6fd
Author: Shwetha Acharya <sacharya%redhat.com@localhost>
Date:   Thu Apr 6 14:12:25 2023 +0530

    Add GlusterFS 10.4 release notes (#4101)

    * Add GlusterFS 10.4 release notes

    Updates: #4100
    Signed-off-by: Shwetha K Acharya <sacharya%redhat.com@localhost>
    Co-authored-by: Xavi Hernandez <xhernandez%gmail.com@localhost>

commit e4f4a20684c7dd37e7359e87f5069c381f9ff67a
Author: Xavi Hernandez <xhernandez%gmail.com@localhost>
Date:   Wed Apr 5 08:40:16 2023 +0200

    snapview-server: mark the end of the directory (#4050)

    Several Gluster components expect that op_errno is set to ENOENT when
    there are no more entries in a directory being read.

    Previously, snapview-server returned EINVAL in this case, causing an
    infinite loop in some cases.

    Updates: #4029

    Signed-off-by: Xavi Hernandez <xhernandez%gmail.com@localhost>

commit 34e1b5cc7090afc5802998fe4ca483c639129e61
Author: Xavi Hernandez <xhernandez%gmail.com@localhost>
Date:   Tue Apr 4 16:52:25 2023 +0200

    tests: update tests to match current devel branch (#4089)

    Many fixes have been applied to many tests in devel branch. This patch
    backports all these fixes to release-10 branch.

    Updates: #4020

    Signed-off-by: Xavi Hernandez <xhernandez%gmail.com@localhost>

commit e0f740ca974fc756db488c5d72b38db0ac5bd0ec
Author: Xavi Hernandez <xhernandez%gmail.com@localhost>
Date:   Tue Apr 4 07:48:36 2023 +0200

    snapview-server: make timestamps stable (#4075)

    In the previous implementation, when the mtime, ctime and atime of an
    snapshot virtual directory was requested, the returned time was the
    current time.

    Apparently, the old versions of kernel's nfs client did ignore this
    change during a readdir operation. However, newer versions are checking
    it and retrying the whole readdir operation when these times differ from
    the previous request (I guess that it assumes that the directory
    contents have been changed and tries to get the new contents). This
    causes a long delay or even an infinite loop.

    The optimal change would be to keep the time of modification and changes
    in the inode context of the virtual directories to always return stable
    and consistent data, but this requires a significant amount of changes.

    For now, just return a constant value for these specific entries.

    Fixes: #4071

    Signed-off-by: Xavi Hernandez <xhernandez%gmail.com@localhost>

commit 2e975916119ce4867fe49208030532118de32bb1
Author: mohit84 <moagrawa%redhat.com@localhost>
Date:   Tue Apr 4 11:06:24 2023 +0530

    core: fix potential deadlock in gf_print_trace (#3914)

    It is unsafe when entering the signal handler
    gf_print_trace with setting logger as gf_logger_syslog.
    The fatal reason is that syslog will be called to print trace.
    However, non-reentrant function 'malloc' is involved in such a procedure.

    Solution:  Skip print when logger is set as gf_logger_syslog.
    > Change-Id: Ica454d01c7aebaad5a1412e7b19c533567fe486c
    > Fixes: #3882
    > Signed-off-by: ChenJinhao chen.jinhao%zte.com.cn@localhost
    > (Cherry picked from commit 0639931bfd265eda02970ea22282637da6ca80f8)
    > (Reviewed on upstream link https://github.com/gluster/glusterfs/pull/3898)

    Change-Id: Ica454d01c7aebaad5a1412e7b19c533567fe486c
    Fixes: #3882

    Signed-off-by: Mohit Agrawal <moagrawa%redhat.com@localhost>

commit 11129e0029500f5f76a973e33b7c49b3c3fde811
Author: Xavi Hernandez <xhernandez%gmail.com@localhost>
Date:   Fri Mar 31 10:19:24 2023 +0200

    glusterd: generate unique names in /tmp (#4077)

    Glusterd generates some files inside /tmp. In general that shouldn't be
    a problem. However during the regression test run, some tests start
    several glusterd instances in the same machine. When this happens,
    there's a chance that two processes try to update the same file at the
    same time, causing errors and spurious test failures.

    This patch forces that the filename generated in /tmp is different for
    each process, avoiding this problem.

    Updates: #4020

    Signed-off-by: Xavi Hernandez <xhernandez%gmail.com@localhost>

commit 3d507a2ca57cbad9f35b2fc4e5cc1303c812d8bc
Author: Shwetha Acharya <sacharya%redhat.com@localhost>
Date:   Thu Mar 30 13:26:05 2023 +0530

    test: ./tests/bugs/posix/bug-1651445.t is failing while running test suite (#3696) (#3771)

    The ./tests/bugs/posix/bug-1651445.t is getting failed continuously
    while running test suite. The test case is failing after reaching a
    situation while brick is throwing an ENOSPC error and after cleanup, as the
    test case is trying to create a file it is failing. The file creation is
    failing because the flag (disk_space_full) is reset after every 5s by
    a thread posix_ctx_disk_thread_proc.

    The test case is failing also in centos-8 because LVM reserved more
    space in centos-8 as compare to centos-7

    Solution: 1) After cleanup data wait for 5s to reset the flag. Earlier
                 the test case did the same but it was changed by the patch(#3637).
              2) Change the overwrite condition in posix_writev.
              3) In case of centos-8 call 2nd dd command with low block size.

    >Fixes: #3695
    >Signed-off-by: Mohit Agrawal <moagrawa%redhat.com@localhost>

    Change-Id: Ifa0310ba9266651557e29480f5ea476016726e41

    Signed-off-by: Shwetha K Acharya <sacharya%redhat.com@localhost>
    Co-authored-by: mohit84 <moagrawa%redhat.com@localhost>

commit 0cbf51a9827af0e3a35f5cfa823bfa39740bbc58
Author: mohit84 <moagrawa%redhat.com@localhost>
Date:   Thu Mar 30 13:02:19 2023 +0530

    fuse: Resolve asan bug in during receive event notification (#4024)

    The fuse xlator notify function tries to assign data object to graph
    object without checking an event. In case of upcall event data object
    represents upcall object so during access of graph object the process
    crashed for asan build.

    Solution: Access the graph->id only while an event is associated
    specifically to fuse xlator

    > Fixes: #3954
    > Change-Id: I6b2869256b26d22163879737dcf163510d1cd8bf
    > Signed-off-by: Mohit Agrawal moagrawa%redhat.com@localhost
    > (Reviewed on upstream link #4019)

    Fixes: #3954
    Change-Id: I6b2869256b26d22163879737dcf163510d1cd8bf

commit 21381797d743b75aab47209f2500bb3007710f56
Author: Xavi Hernandez <xhernandez%gmail.com@localhost>
Date:   Wed Mar 29 07:40:50 2023 +0200

    posix-aio: fix iocb contents for writev (#4037)

    The structure defined for iocb for user-space contains a union with a
    vector based substructure that seems created to pass iovec-based
    operations to the kernel. However this structure is not supported by the
    kernel and the library doesn't translate it.

    In little-endian architectures, this structure is binary compatible with
    the one expected by the kernel, but this is not true for big-endian
    architectures.

    To avoid this problem, instead of using the iovec-based substructure,
    the common structure is used to also pass the vectors.

    Fixes: #4031

    Signed-off-by: Xavi Hernandez <xhernandez%gmail.com@localhost>

commit 7d5f9eb132b08b0b32c94316803eb9cf9f32f900
Author: Xavi Hernandez <xhernandez%gmail.com@localhost>
Date:   Tue Mar 28 14:14:20 2023 +0200

    afr: fix size of stack-allocated array (#4054)

    One array allocated using alloca() was not using the right size,
    corrupting adjacent memory when the array was used.

    Also updated the related tests since they were not working correctly.
    The test tried to pass some data through a variable that was created in
    a child subshell, so the variable was empty in the parent.

    To implement the same functionality but supporting passing data between
    subshells, a new test command has been created: TEST_WITHIN.

    It works like TEST but if the test is not successful, it waits for some
    time before marking the test as bad. Once the test succeeds, whatever
    data the test has returned during its execution will be available in the
    variable TEST_OUTPUT.

    Fixes: #4042

    Signed-off-by: Xavi Hernandez <xhernandez%gmail.com@localhost>

commit 1cd35434f22df2528040aae417c5823a48e750d7
Author: Xavi Hernandez <xhernandez%gmail.com@localhost>
Date:   Mon Mar 27 15:38:14 2023 +0200

    posix: fix directory gfid handle if a rename fails (#4052)

    * posix: fix directory gfid handle if a rename fails

    When a directory is renamed to a non-empty existing directory, the
    rename will fail. However, the gfid handle of the old directory was
    removed before attempting the rename, at it was not restored in case of
    failure.

    This patch only removes the gfid handle once the rename has succeeded.

    Fixes: #2752

    Signed-off-by: Xavi Hernandez <xhernandez%gmail.com@localhost>

commit 87432778bb0f103c8ea1bdb358228e94e65ade72
Author: Xavi Hernandez <xhernandez%gmail.com@localhost>
Date:   Mon Mar 27 15:36:45 2023 +0200

    configure: force 'char' type to be signed (#4039)

    On some systems, the 'char' type is interpreted as an unsigned char.
    This may cause some issues as Gluster code assumes that 'char' is
    signed.

    This patch adds the '-fsigned-char' option during compilation to make
    sure it works as expected.

    Updates: #1000

    Signed-off-by: Xavi Hernandez <xhernandez%gmail.com@localhost>

commit c267f1a6ea283fe49b4b9aa887dcc26314cad7eb
Author: Xavi Hernandez <xhernandez%gmail.com@localhost>
Date:   Mon Mar 27 15:34:35 2023 +0200

    nfs: fix ACL encoding for big-endian archs (#4041)

    Encoding and decoding ACLs from binary data in gNFS was done without
    taking into account the endianess of the machine.

    * Also Fix FreeBSD include issue

    Updates: #4020

    Signed-off-by: Xavi Hernandez <xhernandez%gmail.com@localhost>

commit 2222522e296523d071b2a37cfba735cb8b5d6c29
Author: Xavi Hernandez <xhernandez%gmail.com@localhost>
Date:   Mon Mar 20 13:06:41 2023 +0100

    bug-1650403.t: increase timemout

    This tests creates 5 volums and enbales and disables self-heal 50 time
    for each one. Each enable/disable operation takes around 1 second, so
    the total time this will take is around 5 * 50 * 2 = 500 seconds.

    The script timeout is set to 500 seconds, which is too close to the
    required time, causing a lot of spurious failures.

    Updates: #4020
    Signed-off-by: Xavi Hernandez <xhernandez%gmail.com@localhost>

commit f060ba80a092d2d07af5ca4f298dcfb9561fd62b
Author: Xavi Hernandez <xhernandez%gmail.com@localhost>
Date:   Sun Mar 19 15:47:00 2023 +0100

    hashfn: fix inconsistencies on big-endian architectures (#4014)

    The computation of the SuperFashHash function did assume that the code
    was run on a little-endian machine, causing a different result when it's
    run on a big-endian machine.

    This patch explicitly accesses the memory using little-endian mode to
    keep backwards compatibility but to produce the same result on
    big-endian architectures.

    Fixes: #3345

    Signed-off-by: Xavi Hernandez <xhernandez%gmail.com@localhost>

commit 4f51c1c868115ce38b46c5f8393c7f04ca8df015
Author: Xavi Hernandez <xhernandez%gmail.com@localhost>
Date:   Sun Mar 19 15:46:21 2023 +0100

    xdr: fix stack overflow when processing glx_dir(p)list structures (#4013)

    The glx_dirlist and glx_dirplist XDR structures are defined as a linked
    list of objects. When rpcgen generates code to encode and decode these
    structures, it does so by implementing a simple recursive function.

    When the list of entries to encode is large, the recursive call could
    cause a stack overflow.

    The best way to fix this is by transforming the linked list into a
    variable length array in the XDR definition. However this would break
    backward compatibility, making this change impossible to backport to
    older releases.

    This fix uses a hack by implementing custom encoding/decoding functions
    that don't use recursivity and ignores the ones generated by rpcgen.

    Fixes: #3346

    Signed-off-by: Xavi Hernandez <xhernandez%gmail.com@localhost>

commit 2b13a69b36ff9ddcea2f40e93dc6e3cf3aff6920
Author: Xavi Hernandez <xhernandez%gmail.com@localhost>
Date:   Tue Jan 24 07:48:31 2023 +0100

    mem-pool: fix memory corruption in debug builds (#3923)

    * mem-pool.c: improve invalidate() function

    1. Reduce padding of the invalid struct (from 40 bytes to 32 bytes)
    2. Reduce no. of calls to memcpy()

    This changes slightly the way the memory is invalidated, but I hope now memcpy() calls are all aligned.

    Change-Id: I236a478d61b0e41bb01cdd90bd94a155ae40ef19
    Updates: #1000
    Signed-off-by: Yaniv Kaul <ykaul%redhat.com@localhost>

    * memory accounting - reduce code in non DEBUG build

    - gf_mem_update_acct_info() is not needed when not in DEBUG mode
    - re-order variables in the structure according to access pattern
    - Turn xlator_mem_acct_unref() into xlator_mem_acct_destroy() and call it only when refcnt euqals 0 - which is quite rare.

    Change-Id: I5fcae603da943320bfbe5596a9403b1d91dfccd2
    Updates: #3855
    Signed-off-by: Yaniv Kaul <ykaul%redhat.com@localhost>

    * caa_unlikely/likely for some common validations

    While it would have been better to remove redundant validations,
    a start would be to decorate them with caa_likely/unlikely as a hint
    to the compiler (and the reader) about the probability of an 'if' statement.

    Change-Id: Icc743d45ef5737665e5dffe008b525a168a8867b
    Signed-off-by: Yaniv Kaul <ykaul%redhat.com@localhost>

    * mem-pool: fix memory corruption in debug builds

    In debug builds, all dynamically allocated memory blocks of the same
    type are kept in a list to quickly identify them if necessary. This
    list is updated inside a critical region protected by a mutex.

    When a memory block is resized using realloc(), there's a chance that
    the returned pointer has been moved to another memory address. If this
    happens, the list was updated to point to the new location. However,
    the resize and the list update are not atomic, which means that a
    removal or modification of a memory block adjacent (in the list) to
    the resized one, will see the pointer to the old memory address, which
    is not valid anymore.

    This causes a use-after-free issue that corrupts memory.

    This patch removes the memory block from the list before resizing it
    to avoid issues with concurrent list accesses. Once the resize is
    complete, the memory block is re-added to the list.

    Fixes: #3659
    Change-Id: I64730998414b9d3695947d73ba993fad340a6582
    Signed-off-by: Xavi Hernandez <xhernandez%redhat.com@localhost>

    Signed-off-by: Yaniv Kaul <ykaul%redhat.com@localhost>
    Signed-off-by: Xavi Hernandez <xhernandez%redhat.com@localhost>
    Co-authored-by: Yaniv Kaul <ykaul%redhat.com@localhost>

commit 90af4d22cea721a0768c79ff0f1fcae3b50f8641
Author: mohit84 <moagrawa%redhat.com@localhost>
Date:   Tue Nov 15 19:25:04 2022 +0530

    io-stat: xlator Segmentation fault (#3904)

    The process is getting crashed during call ios_bump_stats in cbk code path.
    After checked the code it seems the process is getting crashed because the
    ios_stat_head list is destroyed by the function ios_destroy_top_stats
    without taking a list mutex while receive a clear profile event from the
    client. If at the same time a process is trying to access the list
    it can be crash.

    Solution: Destroy the ios_stat under the list mutex.
    > Change-Id: I1b4d56517fa405eb84da7fffca61e15530652204
    > Fixes: #3901
    > Signed-off-by: Mohit Agrawal moagrawa%redhat.com@localhost
    > (Cherry picked from commit 3e874d0b50f474f90861b58d391b17a0a7c6e343)
    > (Reviewed on upstream link https://github.com/gluster/glusterfs/pull/3902)

    Change-Id: I1b4d56517fa405eb84da7fffca61e15530652204
    Fixes: #3901
    Signed-off-by: Mohit Agrawal <moagrawa%redhat.com@localhost>

    Signed-off-by: Mohit Agrawal <moagrawa%redhat.com@localhost>

commit 1ed25f589657e70d392fa8760feacc821dbc5cf5
Author: Anoop C S <anoopcs%cryptolab.net@localhost>
Date:   Mon Nov 7 11:20:15 2022 +0530

    api: Use opendir for directories in glfs_open and glfs_h_open (#3894)

    In addition to files glfs_open() and glfs_h_open() are capable of
    handling directory opens. But there are various other components like
    DHT and probably other client xlators which are tightly coupled to work
    with directory opens using just opendir. One such example is the case
    where fsetxattr() is called with a file descriptor opened for the
    directory using glfs_open() or glfs_h_open() resulting in EBADFD.

    Therefore we make a differentiation within these APIs to correctly call
    syncop_open() or syncop_opendir() for file and directory entries
    respectively to avoid any possible file descriptor errors.

    Credits: Xavi Hernandez <xhernandez%redhat.com@localhost>
    Signed-off-by: Anoop C S <anoopcs%cryptolab.net@localhost>

    Signed-off-by: Anoop C S <anoopcs%cryptolab.net@localhost>

commit 7c5316111a11249e259378b982fc5193b2daac92
Author: Shwetha Acharya <sacharya%redhat.com@localhost>
Date:   Tue Sep 27 12:27:52 2022 +0530

    posix: posix xlator does not respects storage.reserve value (#3637) (#3805)

    * posix: posix xlator does not respects storage.reserve value

    In a small storage environment (brick_root is < 100G) the
    POSIX xlator does not respect the storage.reserve value.The flag value
    is set after every 5s basis and so in that window if the client has
    generated the data the posix xlator does not validate storage.reserve
    spacee check and allow client to consume the brick space unless the
    flag has not been set by a posixctxres thread.

    Solution: Before doing any writev for an external client check
              the current free storage space with writev buffer and if
              it has surpassed the limit return ENOSPC. The priv->write_value
              parameter has been updated during call unlink
              and truncate fop also to use the correct value.

    >Fixes: #3636
    >Change-Id: I7e174553c22893dd44438f48406e895e13b5db5e
    >Signed-off-by: Mohit Agrawal <moagrawa%redhat.com@localhost>

    * posix: Resolve reviewer comments

    >Fixes: #3636
    >Change-Id: I569b8e5d96f138204d25e9753a92cb19135bd584
    >Signed-off-by: Mohit Agrawal <moagrawa%redhat.com@localhost>

    * posix: Calculate file written size based on (pre|post)op
           block size difference to avoid overwrite cases.

    >Fixes: #3636
    >Signed-off-by: Mohit Agrawal <moagrawa%redhat.com@localhost>

    Change-Id: I87efee72e9cdbd1a20df30b07a6e2587ce0675a6
    Signed-off-by: Shwetha K Acharya <sacharya%redhat.com@localhost>

    Signed-off-by: Shwetha K Acharya <sacharya%redhat.com@localhost>
    Co-authored-by: mohit84 <moagrawa%redhat.com@localhost>

Signed-off-by: Alexander Schreiber <als%thangorodrim.de@localhost>

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=86caf0a93005fd249641c43b71f318465831e6db

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 glusterfs/Makefile     | 4 ++--
 glusterfs/PLIST.common | 1 +
 glusterfs/distinfo     | 6 +++---
 3 files changed, 6 insertions(+), 5 deletions(-)

diffs:
diff --git a/glusterfs/Makefile b/glusterfs/Makefile
index fa5f16fe1d..fced40534d 100644
--- a/glusterfs/Makefile
+++ b/glusterfs/Makefile
@@ -1,7 +1,7 @@
 # $NetBSD: Makefile,v 1.116 2023/03/28 01:10:53 gutteridge Exp $
 
-DISTNAME=	glusterfs-10.3
-PKGREVISION=	2
+DISTNAME=	glusterfs-10.4
+# PKGREVISION=	2
 CATEGORIES=	filesystems
 MASTER_SITES=	http://bits.gluster.org/pub/gluster/glusterfs/src/
 
diff --git a/glusterfs/PLIST.common b/glusterfs/PLIST.common
index 4b4ababc55..7547f7332a 100644
--- a/glusterfs/PLIST.common
+++ b/glusterfs/PLIST.common
@@ -85,6 +85,7 @@ 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-custom.h
 include/glusterfs/rpc/xdr-generic.h
 include/glusterfs/rpc/xdr-rpc.h
 include/glusterfs/rpc/xdr-rpcclnt.h
diff --git a/glusterfs/distinfo b/glusterfs/distinfo
index 39899d4377..1620ae00f1 100644
--- a/glusterfs/distinfo
+++ b/glusterfs/distinfo
@@ -1,8 +1,8 @@
 $NetBSD: distinfo,v 1.76 2023/03/28 01:10:53 gutteridge Exp $
 
-BLAKE2s (glusterfs-10.3.tar.gz) = c2f9b5670d1df7a787e445207caa421a949f1fb98cafb587441925efe8d9e25a
-SHA512 (glusterfs-10.3.tar.gz) = af7c8a15db48196a5f7022e4da87ae8d8d43a12c8968b242f40fb43ea562d1d214e75b3a67800f8594c97847e15c01367b6d464964252551d6f8d3e93fb0f832
-Size (glusterfs-10.3.tar.gz) = 8283537 bytes
+BLAKE2s (glusterfs-10.4.tar.gz) = 9813ba102591f6ab715fc7d3dc089860888effe70dc146a4366667be0cc9bd0c
+SHA512 (glusterfs-10.4.tar.gz) = 06c563ab77a29145b1fac44f5a56a91539accb69ba736fe6297aa3f38b128e68ba4f7d0b49ac6eb56397a51950fb4de882ff60037e91c61ad13dd89a18139d82
+Size (glusterfs-10.4.tar.gz) = 8293872 bytes
 SHA1 (patch-configure.ac) = e4c2f65d6579aab9b62e28ba60b75ba542116811
 SHA1 (patch-events-src-Makefile.am) = 5a112994c9990962a19eecd3933dabb18d5db2b0
 SHA1 (patch-events-tools-Makefile.am) = b224ed16200befdb68e51eebd762257a0911e591


Home | Main Index | Thread Index | Old Index