Accepting request 346332 from filesystems

- fix mkfs failure on ppc64 (or with sectorsize > 4k) (bsc#956819)
- Added patch: 0001-btrfs-progs-mkfs-use-correct-size-for-superblock-csu.patch

OBS-URL: https://build.opensuse.org/request/show/346332
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/btrfsprogs?expand=0&rev=67
This commit is contained in:
Dominique Leuenberger 2015-12-01 08:18:25 +00:00 committed by Git OBS Bridge
parent 0c64564d2b
commit 9ead88e055
4 changed files with 51 additions and 1 deletions

View File

@ -0,0 +1,41 @@
From bf1ac8305ab3f191d9345793b88c4f5ec691cb9b Mon Sep 17 00:00:00 2001
From: David Sterba <dsterba@suse.com>
Date: Thu, 19 Nov 2015 15:55:05 +0100
Subject: [PATCH] btrfs-progs: mkfs: use correct size for superblock csum and
writeout
If sectorsize is not BTRFS_SUPER_INFO_SIZE (4k), the superblock checksum
is wrong and mkfs fails. This has been reported on ppc64 where we pick
sectorisize from page size (64k). This has been broken since ages
(2008) and discovered by the recently added superblock checks.
Reported-by: Dinar Valeev <dvaleev@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
---
utils.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/utils.c b/utils.c
index 60235d84889c..13835051a1a5 100644
--- a/utils.c
+++ b/utils.c
@@ -552,12 +552,12 @@ int make_btrfs(int fd, struct btrfs_mkfs_config *cfg)
/* and write out the super block */
BUG_ON(sizeof(super) > cfg->sectorsize);
- memset(buf->data, 0, cfg->sectorsize);
+ memset(buf->data, 0, BTRFS_SUPER_INFO_SIZE);
memcpy(buf->data, &super, sizeof(super));
- buf->len = cfg->sectorsize;
+ buf->len = BTRFS_SUPER_INFO_SIZE;
csum_tree_block_size(buf, BTRFS_CRC32_SIZE, 0);
- ret = pwrite(fd, buf->data, cfg->sectorsize, cfg->blocks[0]);
- if (ret != cfg->sectorsize) {
+ ret = pwrite(fd, buf->data, BTRFS_SUPER_INFO_SIZE, cfg->blocks[0]);
+ if (ret != BTRFS_SUPER_INFO_SIZE) {
ret = (ret < 0 ? -errno : -EIO);
goto out;
}
--
2.6.2

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Tue Nov 24 00:00:00 CET 2015 - dsterba@suse.cz
- fix mkfs failure on ppc64 (or with sectorsize > 4k) (bsc#956819)
- Added patch: 0001-btrfs-progs-mkfs-use-correct-size-for-superblock-csu.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Nov 16 00:00:00 CET 2015 - dsterba@suse.cz Mon Nov 16 00:00:00 CET 2015 - dsterba@suse.cz

View File

@ -37,6 +37,8 @@ Source: https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs
Source1: boot-btrfs.sh Source1: boot-btrfs.sh
Source4: setup-btrfs.sh Source4: setup-btrfs.sh
Patch1: 0001-btrfs-progs-mkfs-use-correct-size-for-superblock-csu.patch
Patch163: 0163-btrfs-progs-fsck-fix-segfault.patch Patch163: 0163-btrfs-progs-fsck-fix-segfault.patch
Patch167: 0167-Btrfs-progs-make-find_and_setup_root-return-an-error.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 Patch168: 0168-Btrfs-progs-don-t-bug-out-if-we-can-t-find-the-last-.patch
@ -106,6 +108,7 @@ build applications to interface with btrfs.
%prep %prep
%setup -q -n btrfs-progs-v%{version} %setup -q -n btrfs-progs-v%{version}
%patch1 -p1
%patch163 -p1 %patch163 -p1
%patch167 -p1 %patch167 -p1
%patch168 -p1 %patch168 -p1

View File

@ -7,7 +7,7 @@ Index: btrfs-progs-v4.1/version.sh
# Released under the GNU GPLv2 # Released under the GNU GPLv2
-v="v4.3.1" -v="v4.3.1"
+v="v4.3+20151116" +v="v4.3.1+20151124"
opt=$1 opt=$1