Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:Update
btrfsprogs
0002-btrfs-progs-mkfs-use-correct-size-for-supe...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0002-btrfs-progs-mkfs-use-correct-size-for-superblock-csu.patch of Package btrfsprogs
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
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor