- update to the latest btrfs-progs

This commit is contained in:
Josef Bacik 2012-04-11 11:16:51 -04:00
parent be7a8c5cdf
commit 8bffa86e0b
5 changed files with 13714 additions and 1631 deletions

View File

@ -1,7 +1,6 @@
diff --git a/btrfsck.c b/btrfsck.c
index 63e44d1..1e040c4 100644
--- a/btrfsck.c
+++ b/btrfsck.c
diff -up btrfs-progs-0.19/btrfsck.c.orig btrfs-progs-0.19/btrfsck.c
--- btrfs-progs-0.19/btrfsck.c.orig 2012-04-11 10:44:44.000000000 -0400
+++ btrfs-progs-0.19/btrfsck.c 2012-04-11 10:45:35.769767880 -0400
@@ -22,7 +22,9 @@
#include <stdlib.h>
#include <unistd.h>
@ -9,23 +8,22 @@ index 63e44d1..1e040c4 100644
+#include <sys/types.h>
#include <sys/stat.h>
+#include <unistd.h>
#include <getopt.h>
#include "kerncompat.h"
#include "ctree.h"
#include "disk-io.h"
diff --git a/mkfs.c b/mkfs.c
index 2e99b95..638f4c2 100644
--- a/mkfs.c
+++ b/mkfs.c
@@ -348,7 +348,7 @@ int main(int ac, char **av)
diff -up btrfs-progs-0.19/mkfs.c.orig btrfs-progs-0.19/mkfs.c
--- btrfs-progs-0.19/mkfs.c.orig 2012-04-11 10:44:44.652047854 -0400
+++ btrfs-progs-0.19/mkfs.c 2012-04-11 10:46:03.727553072 -0400
@@ -1198,7 +1198,7 @@ int main(int ac, char **av)
u64 alloc_start = 0;
u64 metadata_profile = BTRFS_BLOCK_GROUP_RAID1 | BTRFS_BLOCK_GROUP_DUP;
u64 data_profile = BTRFS_BLOCK_GROUP_RAID0;
u64 metadata_profile = 0;
u64 data_profile = 0;
- u32 leafsize = getpagesize();
+ u32 leafsize = sysconf(_SC_PAGESIZE);
u32 sectorsize = 4096;
u32 nodesize = leafsize;
u32 stripesize = 4096;
@@ -405,7 +405,7 @@ int main(int ac, char **av)
@@ -1270,7 +1270,7 @@ int main(int ac, char **av)
print_usage();
}
}

View File

@ -1,17 +1,16 @@
diff --git a/mkfs.c b/mkfs.c
index d664254..138bcc9 100644
--- a/mkfs.c
+++ b/mkfs.c
@@ -294,7 +294,6 @@ static u64 parse_profile(char *s)
diff -up btrfs-progs-0.19/mkfs.c.orig btrfs-progs-0.19/mkfs.c
--- btrfs-progs-0.19/mkfs.c.orig 2012-04-11 10:38:26.825973948 -0400
+++ btrfs-progs-0.19/mkfs.c 2012-04-11 10:39:46.031360540 -0400
@@ -372,7 +372,6 @@ static u64 parse_profile(char *s)
static char *parse_label(char *input)
{
- int i;
int len = strlen(input);
if (len > BTRFS_LABEL_SIZE) {
@@ -302,12 +301,6 @@ static char *parse_label(char *input)
BTRFS_LABEL_SIZE);
if (len >= BTRFS_LABEL_SIZE) {
@@ -380,12 +379,6 @@ static char *parse_label(char *input)
BTRFS_LABEL_SIZE - 1);
exit(1);
}
- for (i = 0; i < len; i++) {

File diff suppressed because it is too large Load Diff

View File

@ -1,21 +1,8 @@
diff --git a/btrfsck.c b/btrfsck.c
index 63e44d1..1ae7487 100644
--- a/btrfsck.c
+++ b/btrfsck.c
@@ -2806,6 +2806,8 @@ static int check_extents(struct btrfs_root *root)
break;
}
ret = check_extent_refs(root, &extent_cache);
+ free_cache_tree(&seen);
+ free(bits);
return ret;
}
diff --git a/disk-io.c b/disk-io.c
index a6e1000..b903163 100644
--- a/disk-io.c
+++ b/disk-io.c
@@ -425,8 +425,10 @@ static int find_and_setup_log_root(struct btrfs_root *tree_root,
diff -up btrfs-progs-0.19/btrfsck.c.orig btrfs-progs-0.19/btrfsck.c
diff -up btrfs-progs-0.19/disk-io.c.orig btrfs-progs-0.19/disk-io.c
--- btrfs-progs-0.19/disk-io.c.orig 2012-04-11 10:42:36.213042556 -0400
+++ btrfs-progs-0.19/disk-io.c 2012-04-11 10:42:58.790867701 -0400
@@ -458,8 +458,10 @@ static int find_and_setup_log_root(struc
u64 blocknr = btrfs_super_log_root(disk_super);
struct btrfs_root *log_root = malloc(sizeof(struct btrfs_root));
@ -27,7 +14,7 @@ index a6e1000..b903163 100644
blocksize = btrfs_level_size(tree_root,
btrfs_super_log_root_level(disk_super));
@@ -605,7 +607,7 @@ struct btrfs_root *open_ctree_fd(int fp, const char *path, u64 sb_bytenr,
@@ -622,7 +624,7 @@ static struct btrfs_fs_info *__open_ctre
struct btrfs_root *chunk_root = malloc(sizeof(struct btrfs_root));
struct btrfs_root *dev_root = malloc(sizeof(struct btrfs_root));
struct btrfs_root *csum_root = malloc(sizeof(struct btrfs_root));
@ -36,8 +23,8 @@ index a6e1000..b903163 100644
int ret;
struct btrfs_super_block *disk_super;
struct btrfs_fs_devices *fs_devices = NULL;
@@ -628,7 +630,7 @@ struct btrfs_root *open_ctree_fd(int fp, const char *path, u64 sb_bytenr,
BUG_ON(ret);
@@ -646,7 +648,7 @@ static struct btrfs_fs_info *__open_ctre
goto out;
}
- memset(fs_info, 0, sizeof(*fs_info));
@ -45,7 +32,7 @@ index a6e1000..b903163 100644
fs_info->tree_root = tree_root;
fs_info->extent_root = extent_root;
fs_info->chunk_root = chunk_root;
@@ -928,15 +930,19 @@ static int close_all_devices(struct btrfs_fs_info *fs_info)
@@ -1063,15 +1065,19 @@ static int close_all_devices(struct btrf
{
struct list_head *list;
struct list_head *next;
@ -68,7 +55,7 @@ index a6e1000..b903163 100644
return 0;
}
@@ -983,12 +989,14 @@ int close_ctree(struct btrfs_root *root)
@@ -1121,12 +1127,14 @@ int close_ctree(struct btrfs_root *root)
extent_io_tree_cleanup(&fs_info->pinned_extents);
extent_io_tree_cleanup(&fs_info->pending_del);
extent_io_tree_cleanup(&fs_info->extent_ins);
@ -83,11 +70,10 @@ index a6e1000..b903163 100644
free(fs_info);
return 0;
diff --git a/extent-cache.c b/extent-cache.c
index b871e18..b424975 100644
--- a/extent-cache.c
+++ b/extent-cache.c
@@ -170,3 +170,14 @@ void remove_cache_extent(struct cache_tree *tree,
diff -up btrfs-progs-0.19/extent-cache.c.orig btrfs-progs-0.19/extent-cache.c
--- btrfs-progs-0.19/extent-cache.c.orig 2012-04-11 10:42:36.214042548 -0400
+++ btrfs-progs-0.19/extent-cache.c 2012-04-11 10:42:58.833867368 -0400
@@ -168,3 +168,14 @@ void remove_cache_extent(struct cache_tr
rb_erase(&pe->rb_node, &tree->root);
}
@ -102,11 +88,10 @@ index b871e18..b424975 100644
+ free(cache);
+ }
+}
diff --git a/extent-cache.h b/extent-cache.h
index 7f2f2a6..1696bc2 100644
--- a/extent-cache.h
+++ b/extent-cache.h
@@ -43,6 +43,7 @@ struct cache_extent *find_cache_extent(struct cache_tree *tree,
diff -up btrfs-progs-0.19/extent-cache.h.orig btrfs-progs-0.19/extent-cache.h
--- btrfs-progs-0.19/extent-cache.h.orig 2009-06-11 12:56:15.000000000 -0400
+++ btrfs-progs-0.19/extent-cache.h 2012-04-11 10:42:58.850867237 -0400
@@ -43,6 +43,7 @@ struct cache_extent *find_cache_extent(s
int insert_cache_extent(struct cache_tree *tree, u64 start, u64 size);
int insert_existing_cache_extent(struct cache_tree *tree,
struct cache_extent *pe);
@ -114,11 +99,10 @@ index 7f2f2a6..1696bc2 100644
static inline int cache_tree_empty(struct cache_tree *tree)
{
diff --git a/extent-tree.c b/extent-tree.c
index b2f9bb2..e1d7ffd 100644
--- a/extent-tree.c
+++ b/extent-tree.c
@@ -2985,6 +2985,7 @@ out:
diff -up btrfs-progs-0.19/extent-tree.c.orig btrfs-progs-0.19/extent-tree.c
--- btrfs-progs-0.19/extent-tree.c.orig 2012-04-11 10:42:36.216042532 -0400
+++ btrfs-progs-0.19/extent-tree.c 2012-04-11 10:42:58.851867229 -0400
@@ -2999,6 +2999,7 @@ out:
int btrfs_free_block_groups(struct btrfs_fs_info *info)
{
@ -126,7 +110,7 @@ index b2f9bb2..e1d7ffd 100644
u64 start;
u64 end;
u64 ptr;
@@ -3008,6 +3009,15 @@ int btrfs_free_block_groups(struct btrfs_fs_info *info)
@@ -3022,6 +3023,15 @@ int btrfs_free_block_groups(struct btrfs
clear_extent_dirty(&info->free_space_cache, start,
end, GFP_NOFS);
}
@ -142,23 +126,10 @@ index b2f9bb2..e1d7ffd 100644
return 0;
}
diff --git a/extent_io.c b/extent_io.c
index 069c199..71e6826 100644
--- a/extent_io.c
+++ b/extent_io.c
@@ -572,6 +572,7 @@ static struct extent_buffer *__alloc_extent_buffer(struct extent_io_tree *tree,
BUG();
return NULL;
}
+ memset(eb, 0, sizeof(struct extent_buffer) + blocksize);
eb->start = bytenr;
eb->len = blocksize;
diff --git a/volumes.c b/volumes.c
index 7671855..eee66a7 100644
--- a/volumes.c
+++ b/volumes.c
@@ -862,6 +862,20 @@ void btrfs_mapping_init(struct btrfs_mapping_tree *tree)
diff -up btrfs-progs-0.19/volumes.c.orig btrfs-progs-0.19/volumes.c
--- btrfs-progs-0.19/volumes.c.orig 2012-04-11 10:42:36.228042439 -0400
+++ btrfs-progs-0.19/volumes.c 2012-04-11 10:43:03.313832673 -0400
@@ -957,6 +957,20 @@ void btrfs_mapping_init(struct btrfs_map
cache_tree_init(&tree->cache_tree);
}
@ -179,7 +150,7 @@ index 7671855..eee66a7 100644
int btrfs_num_copies(struct btrfs_mapping_tree *map_tree, u64 logical, u64 len)
{
struct cache_extent *ce;
@@ -1340,7 +1354,7 @@ int btrfs_read_sys_array(struct btrfs_root *root)
@@ -1484,7 +1498,7 @@ int btrfs_read_sys_array(struct btrfs_ro
if (!sb)
return -ENOMEM;
btrfs_set_buffer_uptodate(sb);
@ -188,11 +159,10 @@ index 7671855..eee66a7 100644
array_size = btrfs_super_sys_array_size(super_copy);
/*
diff --git a/volumes.h b/volumes.h
index bb78751..e466b31 100644
--- a/volumes.h
+++ b/volumes.h
@@ -130,4 +130,5 @@ int btrfs_add_system_chunk(struct btrfs_trans_handle *trans,
diff -up btrfs-progs-0.19/volumes.h.orig btrfs-progs-0.19/volumes.h
--- btrfs-progs-0.19/volumes.h.orig 2012-04-11 10:42:36.228042439 -0400
+++ btrfs-progs-0.19/volumes.h 2012-04-11 10:43:03.314832666 -0400
@@ -182,4 +182,5 @@ int btrfs_add_system_chunk(struct btrfs_
struct btrfs_root *root, struct btrfs_key *key,
struct btrfs_chunk *chunk, int item_size);
int btrfs_chunk_readonly(struct btrfs_root *root, u64 chunk_offset);

View File

@ -1,6 +1,6 @@
Name: btrfs-progs
Version: 0.19
Release: 17%{?dist}
Release: 18%{?dist}
Summary: Userspace programs for btrfs
Group: System Environment/Base
@ -9,9 +9,8 @@ URL: http://btrfs.wiki.kernel.org/index.php/Main_Page
Source0: http://www.kernel.org/pub/linux/kernel/people/mason/btrfs/%{name}-%{version}.tar.bz2
Patch0: btrfs-progs-upstream.patch
Patch1: btrfs-progs-fix-labels.patch
Patch2: btrfs-progs-build-everything.patch
Patch3: btrfs-progs-valgrind.patch
Patch4: btrfs-progs-build-fixes.patch
Patch2: btrfs-progs-valgrind.patch
Patch3: btrfs-progs-build-fixes.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: e2fsprogs-devel, libuuid-devel, zlib-devel, libacl-devel
@ -28,15 +27,13 @@ check, modify and correct any inconsistencies in the btrfs filesystem.
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%build
make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags} LDFLAGS="-lcom_err" convert
%install
rm -rf $RPM_BUILD_ROOT
make mandir=%{_mandir} bindir=%{_root_sbindir} install DESTDIR=$RPM_BUILD_ROOT
make mandir=%{_mandir} bindir=%{_sbindir} install DESTDIR=$RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
@ -44,18 +41,20 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc COPYING INSTALL
%{_root_sbindir}/btrfsctl
%{_root_sbindir}/btrfsck
%{_root_sbindir}/mkfs.btrfs
%{_root_sbindir}/btrfs-debug-tree
%{_root_sbindir}/btrfs-image
%{_root_sbindir}/btrfs-show
%{_root_sbindir}/btrfs-vol
%{_root_sbindir}/btrfs-convert
%{_root_sbindir}/btrfstune
%{_root_sbindir}/btrfs
%{_root_sbindir}/btrfs-map-logical
%{_root_sbindir}/btrfs-zero-log
%{_sbindir}/btrfsctl
%{_sbindir}/btrfsck
%{_sbindir}/mkfs.btrfs
%{_sbindir}/btrfs-debug-tree
%{_sbindir}/btrfs-image
%{_sbindir}/btrfs-show
%{_sbindir}/btrfs-vol
%{_sbindir}/btrfs-convert
%{_sbindir}/btrfstune
%{_sbindir}/btrfs
%{_sbindir}/btrfs-map-logical
%{_sbindir}/btrfs-zero-log
%{_sbindir}/btrfs-restore
%{_sbindir}/btrfs-find-root
%{_mandir}/man8/btrfs-image.8.gz
%{_mandir}/man8/btrfs-show.8.gz
%{_mandir}/man8/btrfsck.8.gz
@ -64,6 +63,9 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man8/btrfs.8.gz
%changelog
* Wed Apr 11 2012 Josef Bacik <josef@toxicpanda.com> 0.19-18
- updated to latest btrfs-progs
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.19-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild