Displaying 20 results from an estimated 80 matches for "extent_buffer".
2012 Dec 18
0
[PATCH] [RFC] Btrfs: Subpagesize blocksize (WIP).
...notes:
- Based off of Josef''s btrfs-next branch, commit
8d089a86e45b34d7bc534d955e9d8543609f7e42
- C99-style comments are "meta-comments" where I''d like more
feedback; they aren''t permanent but make ''checkpatch'' moan.
- extent_buffer allocation and freeing need their code paths
merged; they''re currently in separate functions and are both
very ugly.
- The patch itself will eventually need to be broken down
into smaller pieces if at all possible...
---
fs/btrfs/ctree.h | 11 +-
fs/btrf...
2013 May 07
2
[PATCH] Btrfs: fix passing wrong arg gfp_t to decide the correct allocation mode
...*tm_ret = kzalloc(sizeof(*tm), GFP_ATOMIC);
+ tm = *tm_ret = kzalloc(sizeof(*tm), flags);
if (!tm)
return -ENOMEM;
@@ -591,14 +591,14 @@ __tree_mod_log_insert_key(struct btrfs_fs_info *fs_info,
static noinline int
tree_mod_log_insert_key_mask(struct btrfs_fs_info *fs_info,
struct extent_buffer *eb, int slot,
- enum mod_log_op op, gfp_t flags)
+ enum mod_log_op op)
{
int ret;
if (tree_mod_dont_log(fs_info, eb))
return 0;
- ret = __tree_mod_log_insert_key(fs_info, eb, slot, op, flags);
+ ret = __tree_mod_log_insert_key(fs_info, eb, slot, op, GFP_ATOMIC);
tree_...
2012 Jul 01
7
btrfs_print_tree?
HI,
Do anyone know where btrfs_print_tree is invoked? thanks.
--
Regards,
Zhi Yong Wu
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
2010 Jul 13
0
[PATCH 1/2] btrfs: restructure try_release_extent_buffer()
restructure try_release_extent_buffer() and write a function to release the
extent buffer. It will be used later.
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
---
fs/btrfs/extent_io.c | 48 +++++++++++++++++++++++++++++++++++++-----------
1 files changed, 37 insertions(+), 11 deletions(-)
diff --git a/fs/btrfs/extent_io....
2012 May 27
0
[RFC PATCH] Decrease Metadata Fragment Using A Caterpillar Band Method
...r, nritems, 32);
BTRFS_SETGET_HEADER_FUNCS(header_flags, struct btrfs_header, flags, 64);
BTRFS_SETGET_HEADER_FUNCS(header_level, struct btrfs_header, level, 8);
+BTRFS_SETGET_HEADER_FUNCS(header_cater, struct btrfs_header,
+ cater_index_factor, 8);
static inline int btrfs_header_flag(struct extent_buffer *eb, u64 flag)
{
@@ -2445,6 +2462,19 @@ struct extent_buffer *btrfs_alloc_free_b
struct btrfs_root *root, u32 blocksize,
u64 parent, u64 root_objectid,
struct btrfs_disk_key *key, int level,
+ u64 hint, u64 empty_size, int for_cow);
+int btrfs_cater_blocks_free(struct btrfs_r...
2011 Jan 28
0
[PATCH] ctree code cleanups
...++++++++++----------------------------------------------
1 file changed, 20 insertions(+), 51 deletions(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 9ac1715..69f71e8 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -928,7 +928,7 @@ static noinline int generic_bin_search(struct
extent_buffer *eb,
* simple bin_search frontend that does the right thing for
* leaves vs nodes
*/
-static int bin_search(struct extent_buffer *eb, struct btrfs_key *key,
+int btrfs_bin_search(struct extent_buffer *eb, struct btrfs_key *key,
int level, int *slot)
{
if (level == 0) {
@@ -947,12...
2009 Nov 14
2
[PATCH] btrfs-progs: Check mount status of multidevice filesystems
..._flags(disk_super) & BTRFS_SUPER_FLAG_METADUMP)) {
- ret = btrfs_read_chunk_tree(chunk_root);
+ ret = btrfs_read_chunk_tree(chunk_root, check_mount);
BUG_ON(ret);
}
diff --git a/disk-io.h b/disk-io.h
index 49e5692..1d6519e 100644
--- a/disk-io.h
+++ b/disk-io.h
@@ -43,9 +43,9 @@ struct extent_buffer *btrfs_find_create_tree_block(struct btrfs_root *root,
u64 bytenr, u32 blocksize);
int clean_tree_block(struct btrfs_trans_handle *trans,
struct btrfs_root *root, struct extent_buffer *buf);
-struct btrfs_root *open_ctree(const char *filename, u64 sb_bytenr, int writes);
+struct...
2012 Mar 20
13
[PATCH 0 of 3 v2] PV-GRUB: add support for ext4 and btrfs
Hi,
The following patches add support for ext4 and btrfs to
PV-GRUB. These patches are taken nearly verbatim from those provided
by Fedora and Gentoo.
We''ve been using these patches for the PV-GRUB images available in EC2
for some time now with no problems.
Changes from v1:
- Makefile has been changed to check the exit code from patch
- The btrfs patch has been rebased to apply
2009 May 12
0
[PATCH 1/2] btrfs-progs: mixed back ref support
...ow, NULL);
+ ret = btrfs_inc_ref(trans, new_root, cow, 0);
kfree(new_root);
if (ret)
@@ -128,6 +133,74 @@ int btrfs_copy_root(struct btrfs_trans_h
return 0;
}
+static noinline int __btrfs_update_ref(struct btrfs_trans_handle *trans,
+ struct btrfs_root *root,
+ struct extent_buffer *buf,
+ struct extent_buffer *cow)
+{
+ u64 refs;
+ u64 owner;
+ u64 flags;
+ u64 new_flags;
+ int ret;
+
+ owner = btrfs_header_owner(buf);
+ BUG_ON(owner == BTRFS_TREE_RELOC_OBJECTID);
+ /*
+ * There are only two places that can drop reference to
+ * tree blocks created in old transac...
2010 Mar 03
1
[PATCH V2] Btrfs: add direct I/O helper to process inline compressed extents.
Use access_extent_buffer_page() to point at btree location of
inline compressed data so it can be inflated without a memcopy.
Signed-off-by: jim owens <jowens@hp.com>
Signed-off-by: jim owens <jim6336@gmail.com>
---
V2 fixes whitespace checkpatch warning
fs/btrfs/extent_io.c | 16 ++++++++++++++++
fs/btrf...
2013 Aug 02
2
[PATCH] Btrfs: allow compressed extents to be merged during defragment
...e changed, 8 insertions(+), 5 deletions(-)
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 55dda87..a7aeecc 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -2229,7 +2229,7 @@ static noinline bool record_extent_backrefs(struct btrfs_path *path,
static int relink_is_mergable(struct extent_buffer *leaf,
struct btrfs_file_extent_item *fi,
- u64 disk_bytenr)
+ u64 disk_bytenr, u8 compress)
{
if (btrfs_file_extent_disk_bytenr(leaf, fi) != disk_bytenr)
return 0;
@@ -2237,8 +2237,10 @@ static int relink_is_mergable(struct extent_buffer *leaf,
if (btrfs_file_exte...
2011 Jun 30
9
btrfs-progs: integration branch updated
After a reorganisation of patches, and sending a bunch of them to
Chris, I''ve also updated the integration branch to match that. It''s
available from:
http://git.darksatanic.net/repo/btrfs-progs-unstable.git/ integration-20110630
The shortlog of 17 patches in this branch beyond the ones I''ve sent
to Chris is below.
Hugo.
Andreas Philipp (1):
print parent
2011 Aug 26
0
[PATCH] Btrfs: make some functions return void
...t, unsigned long nr);
void __btrfs_btree_balance_dirty(struct btrfs_root *root, unsigned long nr);
-int btrfs_free_fs_root(struct btrfs_fs_info *fs_info, struct btrfs_root *root);
+void btrfs_free_fs_root(struct btrfs_fs_info *fs_info, struct btrfs_root *root);
void btrfs_mark_buffer_dirty(struct extent_buffer *buf);
int btrfs_buffer_uptodate(struct extent_buffer *buf, u64 parent_transid);
int btrfs_set_buffer_uptodate(struct extent_buffer *buf);
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 80d6148..5f6c88c 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -4799,...
2011 Jun 10
6
[PATCH v2 0/6] btrfs: generic readeahead interface
...351s
- enumerating the extent tree (readahead): 41s
- enumerating extents+csum tree (readahead): 49s
The implementation is also tested with this tool in various combinations of
parallel reads of the same and of different trees.
The main changes from v1 are:
- Switch from extent_state flags to extent_buffer flags.
- Fix a race when triggering the read.
- Fix a bug where only parts of the requested range where actually prefetched.
The hit only when requesting parts of a tree, so the above numbers doesn''t
change.
Arne Jansen (6):
btrfs: add an extra wait mode to read_extent_buffer_pa...
2013 Aug 29
23
[PATCH] Btrfs: optimize key searches in btrfs_search_slot
...+++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 59 insertions(+), 2 deletions(-)
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 5fa521b..5b20eec 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -2426,6 +2426,59 @@ done:
return ret;
}
+static int key_search(struct extent_buffer *b, struct btrfs_key *key,
+ int level, int *prev_cmp, int *slot)
+{
+ unsigned long eb_offset = 0;
+ unsigned long len_left = b->len;
+ char *kaddr = NULL;
+ unsigned long map_start = 0;
+ unsigned long map_len = 0;
+ unsigned long offset;
+ struct btrfs_disk_key *k = NULL;
+ struct btrf...
2011 Oct 06
26
[PATCH v0 00/18] btfs: Subvolume Quota Groups
This is a first draft of a subvolume quota implementation. It is possible
to limit subvolumes and any group of subvolumes and also to track the amount
of space that will get freed when deleting snapshots.
The current version is functionally incomplete, with the main missing feature
being the initial scan and rescan of an existing filesystem.
I put some effort into writing an introduction into
2013 Mar 15
0
[PATCH] Btrfs-progs: add skinny metadata support to progs V3
...)
abort();
@@ -2506,7 +2510,8 @@ static int process_extent_ref_v0(struct cache_tree *extent_cache,
}
#endif
-static int process_extent_item(struct cache_tree *extent_cache,
+static int process_extent_item(struct btrfs_root *root,
+ struct cache_tree *extent_cache,
struct extent_buffer *eb, int slot)
{
struct btrfs_extent_item *ei;
@@ -2520,9 +2525,18 @@ static int process_extent_item(struct cache_tree *extent_cache,
u32 item_size = btrfs_item_size_nr(eb, slot);
u64 refs = 0;
u64 offset;
+ u64 num_bytes;
+ int metadata = 0;
btrfs_item_key_to_cpu(eb, &key, slot);...
2008 Sep 08
17
btrfs_tree_lock & trylock
I did some btrfs RTFS over the weeking and I have a hard time understanding
what this code is attempting to do:
28 int btrfs_tree_lock(struct extent_buffer *eb)
29 {
30 int i;
31
32 if (mutex_trylock(&eb->mutex))
33 return 0;
34 for (i = 0; i < 512; i++) {
35 cpu_relax();
36 if (mutex_trylock(&eb->mutex))
37 return 0;
38...
2009 Jul 07
0
[PATCH] speed up snapshot dropping
...btree rooted at the
- * block, this function changes wc->stage to UPDATE_BACKREF
- *
* when wc->stage == UPDATE_BACKREF, this function updates
* back refs for pointers in the block.
*
@@ -4585,14 +4580,9 @@ static noinline int walk_down_proc(struc
{
int level = wc->level;
struct extent_buffer *eb = path->nodes[level];
- struct btrfs_key key;
u64 flag = BTRFS_BLOCK_FLAG_FULL_BACKREF;
int ret;
- if (wc->stage == UPDATE_BACKREF &&
- btrfs_header_owner(eb) != root->root_key.objectid)
- return 1;
-
/*
* when reference count of tree block is 1, it won''...
2011 Oct 04
68
[patch 00/65] Error handling patchset v3
Hi all -
Here''s my current error handling patchset, against 3.1-rc8. Almost all of
this patchset is preparing for actual error handling. Before we start in
on that work, I''m trying to reduce the surface we need to worry about. It
turns out that there is a ton of code that returns an error code but never
actually reports an error.
The patchset has grown to 65 patches. 46 of them