diff --git a/0001-cli-duplicate-defns-of-cli_default_conn_timeout-and-.patch b/0001-cli-duplicate-defns-of-cli_default_conn_timeout-and-.patch new file mode 100644 index 0000000..47c63d8 --- /dev/null +++ b/0001-cli-duplicate-defns-of-cli_default_conn_timeout-and-.patch @@ -0,0 +1,101 @@ +From 5ccd50176b4e45abf528ef6870c332ef5f05448e Mon Sep 17 00:00:00 2001 +From: "Kaleb S. KEITHLEY" +Date: Thu, 2 Jan 2020 07:46:23 -0500 +Subject: [PATCH] cli: duplicate defns of cli_default_conn_timeout and + cli_ten_minutes_timeout + +Winter is coming. So is gcc-10. + +Compiling with gcc-10-20191219 snapshot reveals dupe defns of +cli_default_conn_timeout and cli_ten_minutes_timeout in +.../cli/src/cli.[ch] due to missing extern decl. + +There are many changes coming in gcc-10 described in +https://gcc.gnu.org/gcc-10/changes.html + +compiling cli.c with gcc-9 we see: + ... + .quad .LC88 + .comm cli_ten_minutes_timeout,4,4 + .comm cli_default_conn_timeout,4,4 + .text + .Letext0: + ... + +and with gcc-10: + ... + .quad .LC88 + .globl cli_ten_minutes_timeout + .bss + .align 4 + .type cli_ten_minutes_timeout, @object + .size cli_ten_minutes_timeout, 4 + cli_ten_minutes_timeout: + .zero 4 + .globl cli_default_conn_timeout + .align 4 + .type cli_default_conn_timeout, @object + .size cli_default_conn_timeout, 4 + cli_default_conn_timeout: + .zero 4 + .text + .Letext0: + ... + +which is reflected in the .o file as (gcc-9): +... +0000000000000004 C cli_ten_minutes_timeout +0000000000000004 C cli_default_conn_timeout +... + +and (gcc-10): +... +0000000000000020 B cli_ten_minutes_timeout +0000000000000024 B cli_default_conn_timeout +... + +See nm(1) and ld(1) for a description C (common) and B (BSS) and how +they are treated by the linker. + +Note: gcc-10 will land in Fedora-32! + +Change-Id: I54ea485736a4910254eeb21222ad263721cdef3c +Fixes: bz#1793492 +Signed-off-by: Kaleb S. KEITHLEY +--- + cli/src/cli.c | 3 +++ + cli/src/cli.h | 4 ++-- + 2 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/cli/src/cli.c b/cli/src/cli.c +index fac32d3e9..6ac9c7901 100644 +--- a/cli/src/cli.c ++++ b/cli/src/cli.c +@@ -84,6 +84,9 @@ rpc_clnt_prog_t *cli_rpc_prog; + + extern struct rpc_clnt_program cli_prog; + ++int cli_default_conn_timeout = 120; ++int cli_ten_minutes_timeout = 600; ++ + static int + glusterfs_ctx_defaults_init(glusterfs_ctx_t *ctx) + { +diff --git a/cli/src/cli.h b/cli/src/cli.h +index 7166991a7..09d824ed0 100644 +--- a/cli/src/cli.h ++++ b/cli/src/cli.h +@@ -39,8 +39,8 @@ enum argp_option_keys { + ARGP_PORT_KEY = 'p', + }; + +-int cli_default_conn_timeout; +-int cli_ten_minutes_timeout; ++extern int cli_default_conn_timeout; ++extern int cli_ten_minutes_timeout; + + typedef enum { + COLD_BRICK_COUNT, +-- +2.24.1 + diff --git a/glusterfs.spec b/glusterfs.spec index 365dd07..44a4ae3 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,7 +196,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 7.2 -Release: 1%{?dev:%{dev}}%{?dist} +Release: 2%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -213,6 +213,7 @@ Source8: glusterfsd.init %else Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif +Patch0001: 0001-cli-duplicate-defns-of-cli_default_conn_timeout-and-.patch Requires(pre): shadow-utils BuildRequires: systemd @@ -665,6 +666,7 @@ This package provides the glusterfs thin-arbiter translator. %prep %setup -q -n %{name}-%{version}%{?dev} +%patch0001 -p1 %if ( ! %{_usepython3} ) echo "fixing python shebangs..." for f in api events extras geo-replication libglusterfs tools xlators; do @@ -1381,6 +1383,9 @@ exit 0 %endif %changelog +* Wed Jan 22 2020 Kaleb S. KEITHLEY - 7.2-2 +- 7.2, gcc-10 fix + * Wed Jan 15 2020 Kaleb S. KEITHLEY - 7.2-1 - 7.2 GA