Bump btrfs to lates commit with arm patch

Package-Manager: portage-2.2.0_alpha142
RepoMan-Options: --force
This commit is contained in:
Mario Fetka 2012-12-04 21:06:06 +01:00
parent 48e92a6469
commit 648ed3d1d5
3 changed files with 86 additions and 94 deletions

View File

@ -1,7 +1,6 @@
AUX 0001-btrfs-progs-unstable-darksatanic-repo-fix-arg-checki.patch 1134 SHA256 ff60cc070419b79060b44453c87e079cf55f25b4e4c12191f0f1188a1529da26 SHA512 ca20b5e8ac6fcb8cb53eebbfea6ee016b362626850c9414118d8f971aec7d5884936a9aa16b32c84368aa73986eb5a21291117f428b62a39782c163ffdb25592 WHIRLPOOL c164f2afe9c895fb25bc940e216c206271a7950327fc1ae8a77dcda07948512a6bf06677f7dc01c8000218465fc3cf9995867011a090dabffab56c10f4ebe560
AUX 0002-btrfs-progs-ignore-unavailable-loop-device-source-files.patch 1854 SHA256 ba9b505ce439db0446dad0624a18bea18873edb46f2ceab38af595d3c536892b SHA512 74802b92fe537df3fe21dfd4c1aa6f0a21eabf68307162246947ed088dca0feae5f72fd5b0a31a2f1b980eca3a9c9aa6faa1beeb7a4f863845867ccc7cb7e11d WHIRLPOOL c4678da21e822f0671f0a4b576fe4d81febe42de5ef59459f9812f4cfd787ee197e363a0865d4050a578f7282c584fe66d3b9299b8b1517f1270b2af58a0c4eb
AUX btrfs-progs-Modify-Makefile-to-allow-optional-ACL-dependency.patch 1202 SHA256 7531469b262250d24198e853ce4b042f47fe23bc226d56af58e0bbc14e255ca7 SHA512 0f92d6e272b9c9c294040f902fed94f512a3cff6798d846cc4f095b0059fa5cff9eef7a6708a18950c37df1a566170ba53783543a1ef9492f921b4b207803ab1 WHIRLPOOL 605432f47fa8ea5be9203749477fd7c38231a490004da4573ea8563c616586fe38dce91c2aaf9dd8f774eb5c2a9c5e0fb5cc11be31059203ad9c6db6269c9957
AUX v2-Btrfs-progs-fix-unaligned-accesses.patch 7957 SHA256 2b5b47d0ad1b68e055932e8375cf258b8e69d852c287fa2731a5aff231aa92bc SHA512 238d14df2924566668300a3046ceec9754464795b78a1b194563de881ca0fe2274eb1e172cf55d6765d7ac8c5e6b14a9e7348b383834763ca6c7ae278c628b47 WHIRLPOOL 2f6c3bf2ed24d269a7a123235ba8581318cda652d7794d299de115346a04b3f70a3191c2b103c6b06bd29c3701fa9e6d4cd233742035d39496f384490eb3eba0
DIST btrfs-progs-0.20-rc1.tar.gz 246563 SHA256 73383b6de89dbd1e93b45ecd8db99b3b813893d23875490e1a1132a868ce94c0 SHA512 954c3dee745e60e7f041e9858bfaf2724375ee363cbb98d35fdc4b10b0092a3ec388a8af1fb59f693be076d6caff2f1211cb03e0e22e4e5708438ad520c4fba2 WHIRLPOOL c10975d79823539dec9d76854f1b1854b75a3e589e828cb45d253cbb53f1da83d09ed4813ca15d29c8685e5159c2b6746ea7a99ae34ea0f18adf030e91820049
EBUILD btrfs-progs-0.20_rc1.ebuild 2209 SHA256 215cf846ef03928b3daaacea600b4d7461804570453fa2273530498173bb7d92 SHA512 16a4ff86c250baaeb2941a93891882be215e14e929a7c8bccf0fd41705f4aca71ed508f89cf80ed4cfc15a3599c93281264ba09bc36e1c63acf4fc1f26957398 WHIRLPOOL adeb6528d992585a0089c56e4ba43de26d1409e7747f5ed6979f9676f392fdfd0c938fc150c0f70efea3574cde40c3ec167a6685ce642791a9f0e6aea4b30afa
AUX v2-Btrfs-progs-fix-unaligned-accesses.patch 7864 SHA256 7d1b12bc5b7a53b533be2ebffef85d4a52c0f5783e106792ab545a119d5268db SHA512 d15fb6cee4e11177b463f65ea348a4f2bc3c3f6266746a3bb7be462d823e0fd97424f45e424f19889921371a5375f893600deb95e12114011da71d2f960af763 WHIRLPOOL 00258832256a29670aa7e0bd55afc37d8fdcec7e919d50fb45a1381f658863e6ca83f5c3e284a91d7037c33d8c93e223061c598f798cd2189ed4ec1432f4c5ba
EBUILD btrfs-progs-0.20_pre20121005.ebuild 2253 SHA256 2bf35a0d51510676b600324116f11bcf7db6e0070ba19afa99a6ad4ade47adf8 SHA512 5a7bc28ebbdcf11d73f6b33e9f5cd08eec044dbef197f55a3f54d024804b1611b4d4a76a34444c434f24f7ea401441a3dc30ff4b9bea6a6080c452a56bd6c6cd WHIRLPOOL 7f8d0dfbf9a457c708e3b9a0cbace9814ced0c64a45f4ea6f1df09dada90034bbb5b74c270bd2ea407804874bc81987e90904426677c0cf9c43a5a94e79fe803
MISC metadata.xml 332 SHA256 9bfca7447ff362e4b98047c151d4bf4251051ad503387e49129bbbd1b96fd4c2 SHA512 cf679f23c0b6999c2a6e346b645db770197ef56bb9321c5978b1827e5289df32e1cb73822e0f11424ec6bbe76ff1e0702abbe4e9089fb30b4ae3227cc6cf24d5 WHIRLPOOL d5f888e6a516106307caf667944582e2fa2d38d353ec0f4b6ce3bab3bcff7a160085052da7b7d1fe9b427ae8826a534da14a69d4c1d4f1d72002c8b4984bad35

View File

@ -4,15 +4,15 @@
EAPI=4
MY_PV=${PV/_rc/-rc}
MY_PV=${PV/_pre/-pre}
#inherit git-2 toolchain-funcs
inherit eutils toolchain-funcs
inherit eutils git-2 toolchain-funcs
#inherit eutils toolchain-funcs
DESCRIPTION="Btrfs filesystem utilities"
HOMEPAGE="https://btrfs.wiki.kernel.org"
# tarballed out of v0.20-rc1 tag in btrfs-progs repo
SRC_URI="http://dev.gentoo.org/~slyfox/${PN}-${MY_PV}.tar.gz"
#SRC_URI="http://dev.gentoo.org/~slyfox/${PN}-${MY_PV}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
@ -26,9 +26,14 @@ RDEPEND="${DEPEND}"
S="${WORKDIR}/${PN}-${MY_PV}"
#EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git
# https://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git"
#EGIT_COMMIT="89fe5b5f666c247aa3173745fb87c710f3a71a4a"
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git
https://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git"
EGIT_COMMIT="91d9eec1ff044394f2b98ee7fcb76713dd33b994"
src_unpack() {
git-2_src_unpack
}
src_prepare() {
epatch "${FILESDIR}"/${PN}-Modify-Makefile-to-allow-optional-ACL-dependency.patch

View File

@ -1,7 +1,36 @@
diff -uNr btrfs-progs-0.20-rc1.orig/btrfs-list.c btrfs-progs-0.20-rc1/btrfs-list.c
--- btrfs-progs-0.20-rc1.orig/btrfs-list.c 2012-12-04 20:40:40.576142017 +0100
+++ btrfs-progs-0.20-rc1/btrfs-list.c 2012-12-04 20:46:53.544650126 +0100
@@ -324,7 +324,7 @@
From patchwork Sun Oct 21 14:34:33 2012
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [v2] Btrfs-progs: fix unaligned accesses
Date: Sun, 21 Oct 2012 14:34:33 -0000
From: Arne Jansen <sensille@gmx.net>
X-Patchwork-Id: 1622631
Message-Id: <1350830073-20944-1-git-send-email-sensille@gmx.net>
To: linux-btrfs@vger.kernel.org
There are some unaligned accesses in progs that cause malfunction or
crashes on ARM.
This patch fixes the ones we stumbled upon.
Signed-off-by: Arne Jansen <sensille@gmx.net>
tested-by: Andre Diekwisch <andred <at> mail.upb.de>
---
Change v1->v2:
Somehow sent the wrong patch without the patch to the setget functions.
---
btrfs-list.c | 69 +++++++++++++++++++++++++++------------------------------
ctree.h | 8 +++++-
volumes.c | 8 ++++--
3 files changed, 44 insertions(+), 41 deletions(-)
diff --git a/btrfs-list.c b/btrfs-list.c
index e5f0f96..cb42fbc 100644
--- a/btrfs-list.c
+++ b/btrfs-list.c
@@ -720,7 +720,7 @@ static u64 find_root_gen(int fd)
int ret;
struct btrfs_ioctl_search_args args;
struct btrfs_ioctl_search_key *sk = &args.key;
@ -10,7 +39,7 @@ diff -uNr btrfs-progs-0.20-rc1.orig/btrfs-list.c btrfs-progs-0.20-rc1/btrfs-list
unsigned long off = 0;
u64 max_found = 0;
int i;
@@ -375,22 +375,21 @@
@@ -771,22 +771,21 @@ static u64 find_root_gen(int fd)
off = 0;
for (i = 0; i < sk->nr_items; i++) {
struct btrfs_root_item *item;
@ -42,37 +71,16 @@ diff -uNr btrfs-progs-0.20-rc1.orig/btrfs-list.c btrfs-progs-0.20-rc1/btrfs-list
max_found = max(max_found,
btrfs_root_generation(item));
}
@@ -519,9 +518,9 @@
off = 0;
sh = (struct btrfs_ioctl_search_header *)(args.buf + off);
- if (sh->type == BTRFS_INODE_REF_KEY) {
+ if (sh.type == BTRFS_INODE_REF_KEY) {
struct btrfs_inode_ref *ref;
- dirid = sh->offset;
+ dirid = sh.offset;
ref = (struct btrfs_inode_ref *)(sh + 1);
namelen = btrfs_stack_inode_ref_name_len(ref);
@@ -590,7 +589,7 @@
sh = (struct btrfs_ioctl_search_header *)args.buf;
- if (sh->type == BTRFS_DIR_ITEM_KEY) {
+ if (sh.type == BTRFS_DIR_ITEM_KEY) {
struct btrfs_dir_item *di;
int name_len;
char *name;
@@ -613,7 +612,7 @@
@@ -1009,7 +1008,7 @@ static int __list_subvol_search(int fd, struct root_lookup *root_lookup)
int ret;
struct btrfs_ioctl_search_args args;
struct btrfs_ioctl_search_key *sk = &args.key;
- struct btrfs_ioctl_search_header *sh;
+ struct btrfs_ioctl_search_header sh;
struct btrfs_root_ref *ref;
struct btrfs_root_item *ri;
unsigned long off = 0;
int name_len;
@@ -660,28 +659,27 @@
@@ -1064,23 +1063,22 @@ static int __list_subvol_search(int fd, struct root_lookup *root_lookup)
* read the root_ref item it contains
*/
for (i = 0; i < sk->nr_items; i++) {
@ -90,7 +98,27 @@ diff -uNr btrfs-progs-0.20-rc1.orig/btrfs-list.c btrfs-progs-0.20-rc1/btrfs-list
- add_root(root_lookup, sh->objectid, sh->offset,
+ add_root(root_lookup, sh.objectid, sh.offset,
dir_id, name, name_len);
0, 0, dir_id, name, name_len, 0, 0, 0,
NULL);
- } else if (sh->type == BTRFS_ROOT_ITEM_KEY) {
+ } else if (sh.type == BTRFS_ROOT_ITEM_KEY) {
ri = (struct btrfs_root_item *)(args.buf + off);
gen = btrfs_root_generation(ri);
flags = btrfs_root_flags(ri);
- if(sh->len >
+ if(sh.len >
sizeof(struct btrfs_root_item_v0)) {
t = ri->otime.sec;
ogen = btrfs_root_otransid(ri);
@@ -1091,20 +1089,20 @@ static int __list_subvol_search(int fd, struct root_lookup *root_lookup)
memset(uuid, 0, BTRFS_UUID_SIZE);
}
- add_root(root_lookup, sh->objectid, 0,
- sh->offset, flags, 0, NULL, 0, ogen,
+ add_root(root_lookup, sh.objectid, 0,
+ sh.offset, flags, 0, NULL, 0, ogen,
gen, t, uuid);
}
- off += sh->len;
@ -108,50 +136,8 @@ diff -uNr btrfs-progs-0.20-rc1.orig/btrfs-list.c btrfs-progs-0.20-rc1/btrfs-list
+ sk->min_offset = sh.offset;
}
sk->nr_items = 4096;
/* this iteration is done, step forward one root for the next
@@ -810,17 +808,17 @@
int flags = 0;
char *name = NULL;
- if (sh->objectid == *cache_ino) {
+ if (sh.objectid == *cache_ino) {
name = *cache_full_name;
} else if (*cache_full_name) {
free(*cache_full_name);
*cache_full_name = NULL;
}
if (!name) {
- name = ino_resolve(fd, sh->objectid, cache_dirid,
+ name = ino_resolve(fd, sh.objectid, cache_dirid,
cache_dir_name);
*cache_full_name = name;
- *cache_ino = sh->objectid;
+ *cache_ino = sh.objectid;
}
if (!name)
return -EIO;
@@ -841,16 +839,16 @@
printf("unhandled extent type %d for inode %llu "
"file offset %llu gen %llu\n",
type,
- (unsigned long long)sh->objectid,
- (unsigned long long)sh->offset,
+ (unsigned long long)sh.objectid,
+ (unsigned long long)sh.offset,
(unsigned long long)found_gen);
return -EIO;
}
printf("inode %llu file offset %llu len %llu disk start %llu "
"offset %llu gen %llu flags ",
- (unsigned long long)sh->objectid,
- (unsigned long long)sh->offset,
+ (unsigned long long)sh.objectid,
+ (unsigned long long)sh.offset,
(unsigned long long)len,
(unsigned long long)disk_start,
(unsigned long long)disk_offset,
@@ -880,7 +878,7 @@
sk->min_offset++;
@@ -1556,7 +1554,7 @@ int btrfs_list_find_updated_files(int fd, u64 root_id, u64 oldest_gen)
int ret;
struct btrfs_ioctl_search_args args;
struct btrfs_ioctl_search_key *sk = &args.key;
@ -160,7 +146,7 @@ diff -uNr btrfs-progs-0.20-rc1.orig/btrfs-list.c btrfs-progs-0.20-rc1/btrfs-list
struct btrfs_file_extent_item *item;
unsigned long off = 0;
u64 found_gen;
@@ -930,35 +928,34 @@
@@ -1606,35 +1604,34 @@ int btrfs_list_find_updated_files(int fd, u64 root_id, u64 oldest_gen)
* read the root_ref item it contains
*/
for (i = 0; i < sk->nr_items; i++) {
@ -205,10 +191,11 @@ diff -uNr btrfs-progs-0.20-rc1.orig/btrfs-list.c btrfs-progs-0.20-rc1/btrfs-list
}
sk->nr_items = 4096;
if (sk->min_offset < (u64)-1)
diff -uNr btrfs-progs-0.20-rc1.orig/ctree.h btrfs-progs-0.20-rc1/ctree.h
--- btrfs-progs-0.20-rc1.orig/ctree.h 2012-12-04 20:40:40.579141982 +0100
+++ btrfs-progs-0.20-rc1/ctree.h 2012-12-04 20:40:49.051039793 +0100
@@ -1063,15 +1063,19 @@
diff --git a/ctree.h b/ctree.h
index 293b24f..0675989 100644
--- a/ctree.h
+++ b/ctree.h
@@ -1086,15 +1086,19 @@ static inline u##bits btrfs_##name(struct extent_buffer *eb, \
type *s) \
{ \
unsigned long offset = (unsigned long)s; \
@ -230,10 +217,11 @@ diff -uNr btrfs-progs-0.20-rc1.orig/ctree.h btrfs-progs-0.20-rc1/ctree.h
}
#define BTRFS_SETGET_STACK_FUNCS(name, type, member, bits) \
diff -uNr btrfs-progs-0.20-rc1.orig/volumes.c btrfs-progs-0.20-rc1/volumes.c
--- btrfs-progs-0.20-rc1.orig/volumes.c 2012-12-04 20:40:40.575142029 +0100
+++ btrfs-progs-0.20-rc1/volumes.c 2012-12-04 20:40:49.052039781 +0100
@@ -652,6 +652,7 @@
diff --git a/volumes.c b/volumes.c
index 8dca5e1..581c298 100644
--- a/volumes.c
+++ b/volumes.c
@@ -652,6 +652,7 @@ int btrfs_alloc_chunk(struct btrfs_trans_handle *trans,
int index;
int stripe_len = 64 * 1024;
struct btrfs_key key;
@ -241,7 +229,7 @@ diff -uNr btrfs-progs-0.20-rc1.orig/volumes.c btrfs-progs-0.20-rc1/volumes.c
if (list_empty(dev_list)) {
return -ENOSPC;
@@ -757,12 +758,13 @@
@@ -757,12 +758,13 @@ again:
}
return -ENOSPC;
}