Hello community, here is the log from the commit of package btrfsprogs for openSUSE:Factory checked in at 2016-05-17 17:08:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/btrfsprogs (Old) and /work/SRC/openSUSE:Factory/.btrfsprogs.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "btrfsprogs" Changes: -------- --- /work/SRC/openSUSE:Factory/btrfsprogs/btrfsprogs.changes 2016-05-08 10:40:45.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.btrfsprogs.new/btrfsprogs.changes 2016-05-17 17:08:21.000000000 +0200 @@ -1,0 +2,25 @@ +Mon May 16 00:00:00 CEST 2016 - [email protected] + +- update to 4.5.3 + * ioctl: fix unaligned access in buffer from TREE_SEARCH; might cause SIGBUS + on architectures that do not support unaligned access and do not performa + any fixups + * improved validation checks of superblock and chunk-related structures + * subvolume sync: fix handling of -s option + * balance: adjust timing of safety delay countdown with --full-balance + * rescue super-recover: fix reversed condition check + * check: fix bytes_used accounting + * documentation updates: mount options, scrub, send, receive, select-super, + check, mkfs + * testing: new fuzzed images, for superblock and chunks +- fix build failure on 13.1: conditional default for udevdir +- fix build failure on SLE11SP4: wrong check in makefile + +------------------------------------------------------------------- +Mon May 9 15:47:01 UTC 2016 - [email protected] + +- Add udev rules for dm devices (bsc#912170 bsc#888215) + - Added patch: 0169-btrfs-progs-udev-add-rules-for-dm-devices.patch + - Added patch: btrfs-progs-no-PKG_CHECK_VAR + +------------------------------------------------------------------- Old: ---- btrfs-progs-v4.5.2.tar.gz New: ---- 0169-btrfs-progs-udev-add-rules-for-dm-devices.patch btrfs-progs-no-PKG_CHECK_VAR btrfs-progs-v4.5.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ btrfsprogs.spec ++++++ --- /var/tmp/diff_new_pack.hhPTQq/_old 2016-05-17 17:08:22.000000000 +0200 +++ /var/tmp/diff_new_pack.hhPTQq/_new 2016-05-17 17:08:22.000000000 +0200 @@ -24,7 +24,7 @@ %endif Name: btrfsprogs -Version: 4.5.2 +Version: 4.5.3 Release: 0 Summary: Utilities for the Btrfs filesystem License: GPL-2.0 @@ -40,8 +40,10 @@ Patch163: 0163-btrfs-progs-fsck-fix-segfault.patch Patch167: 0167-Btrfs-progs-make-find_and_setup_root-return-an-error.patch Patch168: 0168-Btrfs-progs-don-t-bug-out-if-we-can-t-find-the-last-.patch +Patch169: 0169-btrfs-progs-udev-add-rules-for-dm-devices.patch Patch1000: local-version-override.patch +Patch1001: btrfs-progs-no-PKG_CHECK_VAR BuildRequires: asciidoc BuildRequires: autoconf @@ -112,7 +114,9 @@ %patch163 -p1 %patch167 -p1 %patch168 -p1 +%patch169 -p1 %patch1000 -p1 +%patch1001 -p1 %build ./autogen.sh @@ -168,6 +172,11 @@ install -m 0755 -d %{buildroot}/%{_datadir}/bash-completion/completions install -m 0644 btrfs-completion %{buildroot}/%{_datadir}/bash-completion/completions/btrfs +# 13.1 does not have pkg-config but does have rules +%if 0%{?suse_version} == 1310 +install -m 0755 -d %{buildroot}/usr/lib/udev/rules.d/64-btrfs-dm.rules +%endif + %if 0%{!?for_debugging:1} DEBUG_FILES="/sbin/btrfs-find-root %{_sbindir}/btrfs-find-root @@ -257,6 +266,11 @@ %dir %{_datadir}/bash-completion/completions %{_datadir}/bash-completion/completions/btrfs +%if 0%{?suse_version} >= 1200 +%dir %{_udevrulesdir} +%{_udevrulesdir}/64-btrfs-dm.rules +%endif + %if 0%{?for_debugging:1} /sbin/btrfs-find-root %{_sbindir}/btrfs-find-root ++++++ 0169-btrfs-progs-udev-add-rules-for-dm-devices.patch ++++++ >From 8bd39e44efa9fdbf221200b3d680b2d8205c89e9 Mon Sep 17 00:00:00 2001 From: Jeff Mahoney <[email protected]> Date: Fri, 6 May 2016 15:18:32 -0400 Subject: [PATCH v2] btrfs-progs: udev: add rules for dm devices References: bsc#912170 bsc#888215 Patch-upstream: Submitted to linux-btrfs, 9 May 2016 Systemd's btrfs rule runs btrfs dev ready on each device as it's discovered. The btrfs command is executed as a builtin command via an IMPORT{builtin} rule, which means it gets executed at rule evaluation time, not rule execution time. That means that the device mapper links haven't been setup yet and the only nodes that can be depended upon are /dev/dm-#. That we see /dev/mapper/name names in /proc/mounts is only because we replace the device name we have cached with the one passed in via mount. If we have a multi-device file system and the primary device is removed, the remaining devices will show /dev/dm-#. In addition, if the udev rule is executed again by someone generating a change event (e.g. partprobe), the names are also replaced by the /dev/dm-# names. This patch adds a new rule that adds a run rule that calls btrfs dev ready again using the device mapper links once they're created. --- 64-btrfs-dm.rules | 10 ++++++++++ Makefile.in | 8 ++++++++ configure.ac | 2 ++ 3 files changed, 20 insertions(+) create mode 100644 64-btrfs-dm.rules --- /dev/null +++ b/64-btrfs-dm.rules @@ -0,0 +1,10 @@ +SUBSYSTEM!="block", GOTO="btrfs_end" +KERNEL!="dm-[0-9]*", GOTO="btrfs_end" +ACTION!="add|change", GOTO="btrfs_end" +ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_end" + +# Once the device mapper symlink is created, tell btrfs about it +# so we get the friendly name in /proc/mounts (and tools that read it) +ENV{DM_NAME}=="?*", RUN{builtin}+="btrfs ready /dev/mapper/$env{DM_NAME}" + +LABEL="btrfs_end" --- a/Makefile.in +++ b/Makefile.in @@ -84,11 +84,15 @@ libbtrfs_headers = send-stream.h send-ut extent_io.h ioctl.h ctree.h btrfsck.h version.h TESTS = fsck-tests.sh convert-tests.sh +udev_rules = 64-btrfs-dm.rules + prefix ?= @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ libdir ?= @libdir@ incdir = @includedir@/btrfs +udevdir = @UDEVDIR@ +udevruledir = ${udevdir}/rules.d ifeq ("$(origin V)", "command line") BUILD_VERBOSE = $(V) @@ -390,6 +394,10 @@ install: $(libs) $(progs_install) $(INST cp -a $(lib_links) $(DESTDIR)$(libdir) $(INSTALL) -m755 -d $(DESTDIR)$(incdir) $(INSTALL) -m644 $(headers) $(DESTDIR)$(incdir) +ifneq ($(udevdir),) + $(INSTALL) -m755 -d $(DESTDIR)$(udevruledir) + $(INSTALL) -m644 $(udev_rules) $(DESTDIR)$(udevruledir) +endif install-static: $(progs_static) $(INSTALLDIRS) $(INSTALL) -m755 -d $(DESTDIR)$(bindir) --- a/configure.ac +++ b/configure.ac @@ -124,6 +124,8 @@ PKG_STATIC(UUID_LIBS_STATIC, [uuid]) PKG_CHECK_MODULES(ZLIB, [zlib]) PKG_STATIC(ZLIB_LIBS_STATIC, [zlib]) +PKG_CHECK_VAR([UDEVDIR], [udev], [udevdir]) + dnl lzo library does not provide pkg-config, let use classic way AC_CHECK_LIB([lzo2], [lzo_version], [ LZO2_LIBS="-llzo2" ++++++ btrfs-progs-no-PKG_CHECK_VAR ++++++ From: Jeff Mahoney <[email protected]> Subject: btrfs-progs: make PKG_CHECK_VAR optional Patch-upstream: Never, SLE11-specific SLE11 has an old enough pkg-config that PKG_CHECK_VAR doesn't exist. We can skip checking it because SLE11 doesn't have systemd's btrfs udev rules either and 'make install' does the right thing if UDEVDIR is empty. --- configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 4af7474..64b1c7a 100644 --- a/configure.ac +++ b/configure.ac @@ -124,7 +124,10 @@ PKG_STATIC(UUID_LIBS_STATIC, [uuid]) PKG_CHECK_MODULES(ZLIB, [zlib]) PKG_STATIC(ZLIB_LIBS_STATIC, [zlib]) -PKG_CHECK_VAR([UDEVDIR], [udev], [udevdir]) +UDEVDIR= +m4_ifdef([PKG_CHECK_VAR], +[PKG_CHECK_VAR([UDEVDIR], [udev], [udevdir])]) +AC_SUBST(UDEVDIR) dnl lzo library does not provide pkg-config, let use classic way AC_CHECK_LIB([lzo2], [lzo_version], [ ++++++ btrfs-progs-v4.5.2.tar.gz -> btrfs-progs-v4.5.3.tar.gz ++++++ ++++ 2557 lines of diff (skipped) ++++++ local-version-override.patch ++++++ --- /var/tmp/diff_new_pack.hhPTQq/_old 2016-05-17 17:08:23.000000000 +0200 +++ /var/tmp/diff_new_pack.hhPTQq/_new 2016-05-17 17:08:23.000000000 +0200 @@ -6,8 +6,8 @@ # Copyright 2008, Oracle # Released under the GNU GPLv2 --v="v4.5.2" -+v="v4.5.2+20160503" +-v="v4.5.3" ++v="v4.5.3+20160516" opt=$1
