Accepting request 408520 from filesystems

- update to 4.6.1 (forwarded request 408519 from dsterba)

OBS-URL: https://build.opensuse.org/request/show/408520
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/btrfsprogs?expand=0&rev=75
This commit is contained in:
Dominique Leuenberger 2016-07-21 05:53:21 +00:00 committed by Git OBS Bridge
commit f993b67e6c
8 changed files with 39 additions and 185 deletions

View File

@ -1,62 +0,0 @@
From 4995239a8e53ef58b788a6df6263318cb656cd79 Mon Sep 17 00:00:00 2001
From: Mark Fasheh <mfasheh@suse.de>
Date: Wed, 15 Jun 2016 13:28:28 -0700
Subject: [PATCH 1/3] btrfs-progs: free qgroup counts in btrfsck
Signed-off-by: Mark Fasheh <mfasheh@suse.de>
---
cmds-check.c | 1 +
qgroup-verify.c | 13 +++++++++++++
qgroup-verify.h | 2 ++
3 files changed, 16 insertions(+)
diff --git a/cmds-check.c b/cmds-check.c
index bada87e..7b65f89 100644
--- a/cmds-check.c
+++ b/cmds-check.c
@@ -9890,6 +9890,7 @@ out:
(unsigned long long)data_bytes_allocated,
(unsigned long long)data_bytes_referenced);
+ free_qgroup_counts();
free_root_recs_tree(&root_cache);
close_out:
close_ctree(root);
diff --git a/qgroup-verify.c b/qgroup-verify.c
index 1a0d38c..7b78504 100644
--- a/qgroup-verify.c
+++ b/qgroup-verify.c
@@ -1095,6 +1095,19 @@ int report_qgroups(int all)
return ret;
}
+void free_qgroup_counts(void)
+{
+ struct rb_node *node;
+ struct qgroup_count *c;
+ node = rb_first(&counts.root);
+ while (node) {
+ c = rb_entry(node, struct qgroup_count, rb_node);
+ node = rb_next(node);
+ rb_erase(&c->rb_node, &counts.root);
+ free(c);
+ }
+}
+
int qgroup_verify_all(struct btrfs_fs_info *info)
{
int ret;
diff --git a/qgroup-verify.h b/qgroup-verify.h
index 3747465..0f8ff9b 100644
--- a/qgroup-verify.h
+++ b/qgroup-verify.h
@@ -27,4 +27,6 @@ int report_qgroups(int all);
int print_extent_state(struct btrfs_fs_info *info, u64 subvol);
+void free_qgroup_counts(void);
+
#endif
--
2.1.4

View File

@ -1,82 +0,0 @@
From 8bd39e44efa9fdbf221200b3d680b2d8205c89e9 Mon Sep 17 00:00:00 2001
From: Jeff Mahoney <jeffm@suse.com>
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"

View File

@ -1,29 +0,0 @@
From: Jeff Mahoney <jeffm@suse.com>
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], [

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:638aa93aa8c0cd2d56a4b53052dce94e560beda5cd81f9a047d476ae939b9e1b
size 1468692

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:634dd04bd5b585fbf75eeccaaf5364e72143387f5b4d6dcd8fdf38daecf9e11b
size 1551027

View File

@ -1,3 +1,36 @@
-------------------------------------------------------------------
Thu Jul 14 00:00:00 CEST 2016 - dsterba@suse.cz
- update to 4.6.1
* fi resize: negative resize argument accepted again (broken
* qgroup rescan: fix skipping when rescan is in progress
* mkfs: initialize stripesize to correct value
* testsuite updates, mostly convert tests
* documentation updates
* btrfs-device, btrfs-restore manual pages enhanced
* misc fixups
- update to 4.6
* convert - major rewrite:
* fix a long-standing bug that led to mixing data blocks into metadata block
groups
* the workaround was to do full balance after conversion, which was
recommended practice anyway
* explicitly set the lowest supported version of e2fstools to 1.41
* provide and install udev rules file that addresses problems with device
mapper devices, renames after removal
* send: new option: quiet
* dev usage: report slack space (device size minus filesystem area on the dev)
* image: support DUP
* build: short options to enable debugging builds
* other:
* code cleanups
* build fixes
* more tests and other enhancements
* Removed patches:
* 0001-btrfs-progs-free-qgroup-counts-in-btrfsck.patch
* 0169-btrfs-progs-udev-add-rules-for-dm-devices.patch
* btrfs-progs-no-PKG_CHECK_VAR
-------------------------------------------------------------------
Fri Jun 17 21:16:12 UTC 2016 - mfasheh@suse.com

View File

@ -24,7 +24,7 @@
%endif
Name: btrfsprogs
Version: 4.5.3
Version: 4.6.1
Release: 0
Summary: Utilities for the Btrfs filesystem
License: GPL-2.0
@ -37,17 +37,14 @@ Source: https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs
Source1: boot-btrfs.sh
Source4: setup-btrfs.sh
Patch1: 0001-btrfs-progs-free-qgroup-counts-in-btrfsck.patch
Patch2: 0002-btrfs-progs-btrfsck-verify-qgroups-above-level-0.patch
Patch3: 0003-btrfs-progs-btrfsck-write-corrected-qgroup-info-to-d.patch
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
@ -115,15 +112,12 @@ build applications to interface with btrfs.
%prep
%setup -q -n btrfs-progs-v%{version}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch163 -p1
%patch167 -p1
%patch168 -p1
%patch169 -p1
%patch1000 -p1
%patch1001 -p1
%build
./autogen.sh

View File

@ -6,8 +6,8 @@ Index: btrfs-progs-v4.1/version.sh
# Copyright 2008, Oracle
# Released under the GNU GPLv2
-v="v4.5.3"
+v="v4.5.3+20160516"
-v="v4.6.1"
+v="v4.6.1+20160714"
opt=$1