Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package xfsprogs for openSUSE:Factory checked in at 2021-12-18 20:29:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xfsprogs (Old) and /work/SRC/openSUSE:Factory/.xfsprogs.new.2520 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xfsprogs" Sat Dec 18 20:29:37 2021 rev:71 rq:940797 version:5.14.2 Changes: -------- --- /work/SRC/openSUSE:Factory/xfsprogs/xfsprogs.changes 2021-11-22 23:04:15.481917140 +0100 +++ /work/SRC/openSUSE:Factory/.xfsprogs.new.2520/xfsprogs.changes 2021-12-18 20:29:59.438234034 +0100 @@ -1,0 +2,8 @@ +Wed Dec 15 21:02:32 UTC 2021 - Dirk M??ller <dmuel...@suse.com> + +- update to 5.14.2: + - libxfs: move rogue fallthrough macro out of linux.h + - libxfs: fix atomic64_t for 32-bit architectures + - libfrog: fix crc32c self test code on cross builds + +------------------------------------------------------------------- Old: ---- xfsprogs-5.14.0.tar.sign xfsprogs-5.14.0.tar.xz New: ---- xfsprogs-5.14.2.tar.sign xfsprogs-5.14.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xfsprogs.spec ++++++ --- /var/tmp/diff_new_pack.4qEuzz/_old 2021-12-18 20:29:59.978234334 +0100 +++ /var/tmp/diff_new_pack.4qEuzz/_new 2021-12-18 20:29:59.982234336 +0100 @@ -24,9 +24,8 @@ %bcond_with systemd %endif %define libname libhandle1 - Name: xfsprogs -Version: 5.14.0 +Version: 5.14.2 Release: 0 Summary: Utilities for managing the XFS file system License: GPL-2.0-or-later @@ -48,8 +47,8 @@ BuildRequires: libuuid-devel BuildRequires: pkgconfig BuildRequires: xz -BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires(post): coreutils +Suggests: xfsprogs-scrub # hint for ZYPP Supplements: filesystem(xfs) %if 0%{?suse_version} >= 1310 @@ -58,7 +57,6 @@ %if %{with systemd} BuildRequires: pkgconfig(systemd) %endif -Suggests: xfsprogs-scrub %description A set of commands to use the XFS file system, including mkfs.xfs. @@ -132,7 +130,7 @@ --disable-lto \ %endif %{nil} -make %{?_smp_mflags} V=1 +%make_build PATH_TO_HELP="%{_dracutmodulesdir}/95suse-xfs/dracut-fsck-help.txt" sed -e "s|@@PATH_TO_HELP@@|$PATH_TO_HELP|" %{SOURCE3} > module-setup.sh ++++++ xfsprogs-5.14.0.tar.xz -> xfsprogs-5.14.2.tar.xz ++++++ ++++ 11925 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfsprogs-5.14.0/VERSION new/xfsprogs-5.14.2/VERSION --- old/xfsprogs-5.14.0/VERSION 2021-11-19 17:13:09.000000000 +0100 +++ new/xfsprogs-5.14.2/VERSION 2021-12-06 23:34:16.000000000 +0100 @@ -3,5 +3,5 @@ # PKG_MAJOR=5 PKG_MINOR=14 -PKG_REVISION=0 +PKG_REVISION=2 PKG_BUILD=1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfsprogs-5.14.0/configure.ac new/xfsprogs-5.14.2/configure.ac --- old/xfsprogs-5.14.0/configure.ac 2021-11-19 17:13:09.000000000 +0100 +++ new/xfsprogs-5.14.2/configure.ac 2021-12-06 23:34:16.000000000 +0100 @@ -1,4 +1,4 @@ -AC_INIT([xfsprogs], [5.14.0], [linux-...@vger.kernel.org]) +AC_INIT([xfsprogs], [5.14.2], [linux-...@vger.kernel.org]) AC_PREREQ(2.50) AC_CONFIG_AUX_DIR([.]) AC_CONFIG_MACRO_DIR([m4]) @@ -238,6 +238,7 @@ AC_CHECK_SIZEOF([char *]) AC_TYPE_UMODE_T AC_MANUAL_FORMAT +AC_HAVE_LIBURCU_ATOMIC64 AC_CONFIG_FILES([include/builddefs]) AC_OUTPUT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfsprogs-5.14.0/debian/changelog new/xfsprogs-5.14.2/debian/changelog --- old/xfsprogs-5.14.0/debian/changelog 2021-11-19 17:13:09.000000000 +0100 +++ new/xfsprogs-5.14.2/debian/changelog 2021-12-06 23:34:16.000000000 +0100 @@ -1,3 +1,16 @@ +xfsprogs (5.14.2-1) unstable; urgency=medium + + * New upstream release + - Move rogue fallthrough macro out of linux.h (Closes: #1000974) + + -- Nathan Scott <nath...@debian.org> Mon, 06 Dec 2021 14:26:57 -0500 + +xfsprogs (5.14.1-1) unstable; urgency=medium + + * New upstream release + + -- Nathan Scott <nath...@debian.org> Thu, 02 Dec 2021 15:26:38 -0500 + xfsprogs (5.14.0-1) unstable; urgency=medium * New upstream release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfsprogs-5.14.0/doc/CHANGES new/xfsprogs-5.14.2/doc/CHANGES --- old/xfsprogs-5.14.0/doc/CHANGES 2021-11-19 17:13:09.000000000 +0100 +++ new/xfsprogs-5.14.2/doc/CHANGES 2021-12-06 23:34:16.000000000 +0100 @@ -1,3 +1,10 @@ +xfsprogs-5.14.2 (06 Dec 2021) + - libxfs: move rogue fallthrough macro out of linux.h (Darrick J. Wong) + +xfsprogs-5.14.1 (02 Dec 2021) + - libxfs: fix atomic64_t for 32-bit architectures (Darrick J. Wong) + - libfrog: fix crc32c self test code on cross builds (Darrick J. Wong) + xfsprogs-5.14.0 (19 Nov 2021) - debian: Fix FTBFS (Boian Bonev) - debian: Pass --build and --host to configure (Bastian Germann) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfsprogs-5.14.0/include/atomic.h new/xfsprogs-5.14.2/include/atomic.h --- old/xfsprogs-5.14.0/include/atomic.h 2021-11-16 20:47:16.000000000 +0100 +++ new/xfsprogs-5.14.2/include/atomic.h 2021-12-02 23:16:49.000000000 +0100 @@ -60,11 +60,57 @@ return 0; } +#ifdef HAVE_LIBURCU_ATOMIC64 +/* + * On most (64-bit) platforms, liburcu can handle 64-bit atomic counter + * updates, so we preferentially use that. + */ #define atomic64_read(a) uatomic_read(a) #define atomic64_set(a, v) uatomic_set(a, v) #define atomic64_add(v, a) uatomic_add(a, v) #define atomic64_sub(v, a) uatomic_sub(a, v) #define atomic64_inc(a) uatomic_inc(a) #define atomic64_dec(a) uatomic_dec(a) +#else +/* + * If we don't detect support for that, emulate it with a lock. Currently + * there are only three atomic64_t counters in userspace and none of them are + * performance critical, so we serialize them all with a single mutex since + * the kernel atomic64_t API doesn't have an _init call. + */ +extern pthread_mutex_t atomic64_lock; + +static inline int64_t +atomic64_read(atomic64_t *a) +{ + int64_t ret; + + pthread_mutex_lock(&atomic64_lock); + ret = *a; + pthread_mutex_unlock(&atomic64_lock); + return ret; +} + +static inline void +atomic64_add(int64_t v, atomic64_t *a) +{ + pthread_mutex_lock(&atomic64_lock); + (*a) += v; + pthread_mutex_unlock(&atomic64_lock); +} + +static inline void +atomic64_set(atomic64_t *a, int64_t v) +{ + pthread_mutex_lock(&atomic64_lock); + (*a) = v; + pthread_mutex_unlock(&atomic64_lock); +} + +#define atomic64_inc(a) atomic64_add(1, (a)) +#define atomic64_dec(a) atomic64_add(-1, (a)) +#define atomic64_sub(v, a) atomic64_add(-(v), (a)) + +#endif /* HAVE_URCU_ATOMIC64 */ #endif /* __ATOMIC_H__ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfsprogs-5.14.0/include/builddefs.in new/xfsprogs-5.14.2/include/builddefs.in --- old/xfsprogs-5.14.0/include/builddefs.in 2021-11-16 20:47:16.000000000 +0100 +++ new/xfsprogs-5.14.2/include/builddefs.in 2021-12-02 23:16:49.000000000 +0100 @@ -122,6 +122,7 @@ SYSTEMD_SYSTEM_UNIT_DIR = @systemd_system_unit_dir@ HAVE_CROND = @have_crond@ CROND_DIR = @crond_dir@ +HAVE_LIBURCU_ATOMIC64 = @have_liburcu_atomic64@ GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall # -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-decl @@ -159,6 +160,9 @@ LIBICU_LIBS = @libicu_LIBS@ LIBICU_CFLAGS = @libicu_CFLAGS@ +ifeq ($(HAVE_LIBURCU_ATOMIC64),yes) +PCFLAGS += -DHAVE_LIBURCU_ATOMIC64 +endif SANITIZER_CFLAGS += @addrsan_cflags@ @threadsan_cflags@ @ubsan_cflags@ SANITIZER_LDFLAGS += @addrsan_ldflags@ @threadsan_ldflags@ @ubsan_ldflags@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfsprogs-5.14.0/include/libxlog.h new/xfsprogs-5.14.2/include/libxlog.h --- old/xfsprogs-5.14.0/include/libxlog.h 2021-11-16 20:47:16.000000000 +0100 +++ new/xfsprogs-5.14.2/include/libxlog.h 2021-12-02 23:16:49.000000000 +0100 @@ -11,8 +11,8 @@ * the need to define any exotic kernel types in userland. */ struct xlog { - xfs_lsn_t l_tail_lsn; /* lsn of 1st LR w/ unflush buffers */ - xfs_lsn_t l_last_sync_lsn;/* lsn of last LR on disk */ + atomic64_t l_tail_lsn; /* lsn of 1st LR w/ unflush buffers */ + atomic64_t l_last_sync_lsn;/* lsn of last LR on disk */ xfs_mount_t *l_mp; /* mount point */ struct xfs_buftarg *l_dev; /* dev_t of log */ xfs_daddr_t l_logBBstart; /* start block of log */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfsprogs-5.14.0/include/linux.h new/xfsprogs-5.14.2/include/linux.h --- old/xfsprogs-5.14.0/include/linux.h 2021-11-16 20:47:16.000000000 +0100 +++ new/xfsprogs-5.14.2/include/linux.h 2021-12-06 23:34:16.000000000 +0100 @@ -5,6 +5,11 @@ #ifndef __XFS_LINUX_H__ #define __XFS_LINUX_H__ +/* + * Reminder: anything added to this file will be compiled into downstream + * userspace projects! + */ + #include <uuid/uuid.h> #include <sys/vfs.h> #include <sys/ioctl.h> @@ -360,24 +365,8 @@ #endif /* HAVE_MAP_SYNC */ /* - * Add the pseudo keyword 'fallthrough' so case statement blocks - * must end with any of these keywords: - * break; - * fallthrough; - * continue; - * goto <label>; - * return [expression]; - * - * gcc: https://gcc.gnu.org/onlinedocs/gcc/Statement-Attributes.html#Statement-Attributes + * Reminder: anything added to this file will be compiled into downstream + * userspace projects! */ -#if defined __has_attribute -# if __has_attribute(__fallthrough__) -# define fallthrough __attribute__((__fallthrough__)) -# else -# define fallthrough do {} while (0) /* fallthrough */ -# endif -#else -# define fallthrough do {} while (0) /* fallthrough */ -#endif #endif /* __XFS_LINUX_H__ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfsprogs-5.14.0/include/platform_defs.h.in new/xfsprogs-5.14.2/include/platform_defs.h.in --- old/xfsprogs-5.14.0/include/platform_defs.h.in 2021-11-16 20:47:16.000000000 +0100 +++ new/xfsprogs-5.14.2/include/platform_defs.h.in 2021-12-06 23:34:16.000000000 +0100 @@ -113,4 +113,25 @@ sizeof(*(p)->member) + __must_be_array((p)->member), \ sizeof(*(p))) +/* + * Add the pseudo keyword 'fallthrough' so case statement blocks + * must end with any of these keywords: + * break; + * fallthrough; + * continue; + * goto <label>; + * return [expression]; + * + * gcc: https://gcc.gnu.org/onlinedocs/gcc/Statement-Attributes.html#Statement-Attributes + */ +#if defined __has_attribute +# if __has_attribute(__fallthrough__) +# define fallthrough __attribute__((__fallthrough__)) +# else +# define fallthrough do {} while (0) /* fallthrough */ +# endif +#else +# define fallthrough do {} while (0) /* fallthrough */ +#endif + #endif /* __XFS_PLATFORM_DEFS_H__ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfsprogs-5.14.0/libfrog/crc32.c new/xfsprogs-5.14.2/libfrog/crc32.c --- old/xfsprogs-5.14.0/libfrog/crc32.c 2021-11-16 20:47:16.000000000 +0100 +++ new/xfsprogs-5.14.2/libfrog/crc32.c 2021-12-02 23:16:49.000000000 +0100 @@ -29,10 +29,15 @@ * match the hardware acceleration available on Intel CPUs. */ +/* + * Do not include platform_defs.h here; this will break cross builds if the + * build host does not have liburcu-dev installed. + */ +#include <stdio.h> +#include <sys/types.h> #include <inttypes.h> #include <asm/types.h> #include <sys/time.h> -#include "platform_defs.h" /* For endian conversion routines */ #include "xfs_arch.h" #include "crc32defs.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfsprogs-5.14.0/libxfs/init.c new/xfsprogs-5.14.2/libxfs/init.c --- old/xfsprogs-5.14.0/libxfs/init.c 2021-11-16 20:47:16.000000000 +0100 +++ new/xfsprogs-5.14.2/libxfs/init.c 2021-12-02 23:16:49.000000000 +0100 @@ -25,6 +25,10 @@ #include "libxfs.h" /* for now */ +#ifndef HAVE_LIBURCU_ATOMIC64 +pthread_mutex_t atomic64_lock = PTHREAD_MUTEX_INITIALIZER; +#endif + char *progname = "libxfs"; /* default, changed by each tool */ struct cache *libxfs_bcache; /* global buffer cache */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfsprogs-5.14.0/m4/package_urcu.m4 new/xfsprogs-5.14.2/m4/package_urcu.m4 --- old/xfsprogs-5.14.0/m4/package_urcu.m4 2021-11-16 20:47:16.000000000 +0100 +++ new/xfsprogs-5.14.2/m4/package_urcu.m4 2021-12-02 23:16:49.000000000 +0100 @@ -20,3 +20,22 @@ AC_MSG_RESULT(no)) AC_SUBST(liburcu) ]) + +# +# Make sure that calling uatomic_inc on a 64-bit integer doesn't cause a link +# error on _uatomic_link_error, which is how liburcu signals that it doesn't +# support atomic operations on 64-bit data types. +# +AC_DEFUN([AC_HAVE_LIBURCU_ATOMIC64], + [ AC_MSG_CHECKING([for atomic64_t support in liburcu]) + AC_TRY_LINK([ +#define _GNU_SOURCE +#include <urcu.h> + ], [ + long long f = 3; + uatomic_inc(&f); + ], have_liburcu_atomic64=yes + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no)) + AC_SUBST(have_liburcu_atomic64) + ]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfsprogs-5.14.0/repair/phase2.c new/xfsprogs-5.14.2/repair/phase2.c --- old/xfsprogs-5.14.0/repair/phase2.c 2021-11-16 20:47:16.000000000 +0100 +++ new/xfsprogs-5.14.2/repair/phase2.c 2021-12-02 23:16:49.000000000 +0100 @@ -128,7 +128,7 @@ * is a v5 filesystem. */ if (xfs_sb_version_hascrc(&mp->m_sb)) - libxfs_max_lsn = log->l_last_sync_lsn; + libxfs_max_lsn = atomic64_read(&log->l_last_sync_lsn); } static bool