search for: btrfs_header_own

Displaying 9 results from an estimated 9 matches for "btrfs_header_own".

Did you mean: btrfs_header_owner
2009 Jul 07
0
[PATCH] speed up snapshot dropping
...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''t increase * again. once full backref flag is set, we never clear it. @@ -4608,21 +4598,6 @@ static noinline int walk_down_proc(struc BUG_ON(wc->refs[level] == 0); } -...
2009 May 12
0
[PATCH 1/2] btrfs-progs: mixed back ref support
...trfs_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 transaction and tree blocks + * create by the relocation, one is here, the other place + * is drop_snapshot. In both places, we check and decrease +...
2013 Mar 15
0
[PATCH] Btrfs-progs: add skinny metadata support to progs V3
...key, - ptr, size, 0, 0, 1, 0, size); + ptr, size, 0, 0, 1, 0, 1, size); BUG_ON(ret); add_tree_backref(extent_cache, ptr, parent, owner, 1); @@ -2793,6 +2817,8 @@ static int run_next_block(struct btrfs_root *root, total_btree_bytes += buf->len; if (fs_root_objectid(btrfs_header_owner(buf))) total_fs_tree_bytes += buf->len; + if (btrfs_header_owner(buf) == BTRFS_EXTENT_TREE_OBJECTID) + total_extent_tree_bytes += buf->len; if (!found_old_backref && btrfs_header_owner(buf) == BTRFS_TREE_RELOC_OBJECTID && btrfs_header_backref_rev(buf) == BT...
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
...ixable_bug_on(ret); } } @@ -6798,7 +6798,7 @@ next: root->root_key.objectid, trans->transid, key.objectid); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); ret = btrfs_free_extent(trans, root, extent_key->objectid, @@ -6807,7 +6807,7 @@ next: btrfs_header_owner(leaf), btrfs_header_generation(leaf), key.objectid, 0); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); btrfs_release_path(root, path); key.offset += num_bytes; @@ -6825,7 +6825,7 @@ next: ret = btrfs_drop_extents(trans, root, inode, key.offset, key.offset + nu...
2008 Sep 25
0
[PATCH 2/4] Add shared reference cache
...= 1; + root_gen = trans->transid - 1; + } level = btrfs_header_level(buf); nritems = btrfs_header_nritems(buf); @@ -1114,7 +1124,7 @@ goto out; } - ref->root_gen = root->root_key.offset; + ref->root_gen = root_gen; ref->bytenr = buf->start; ref->owner = btrfs_header_owner(buf); ref->generation = btrfs_header_generation(buf); @@ -1143,8 +1153,7 @@ info++; } - BUG_ON(!root->ref_tree); - ret = btrfs_add_leaf_ref(root, ref); + ret = btrfs_add_leaf_ref(root, ref, shared); WARN_ON(ret); btrfs_free_leaf_ref(root, ref); } diff -r 47aa0c51998a...
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
2012 Jun 21
0
[RFC PATCH V2] Btrfs: introduce extent buffer cache for each i-node
...t_lock = BTRFS_WRITE_LOCK; + } else { + btrfs_tree_read_lock(cached_eb); + root_lock = BTRFS_READ_LOCK; + } + } + + level = btrfs_header_level(cached_eb); + p->nodes[level] = cached_eb; + p->locks[level] = root_lock; + + if (root->objectid == BTRFS_TREE_LOG_OBJECTID && + (btrfs_header_owner(cached_eb) != BTRFS_TREE_LOG_OBJECTID || + cached_eb->root_objectid != root->root_key.offset || + btrfs_header_generation(cached_eb) != trans->transid)) { + btrfs_release_path(p); + return -ERESTART; + } else if (root->objectid != cached_eb->root_objectid || + btrfs...
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
2012 Dec 18
0
[PATCH] [RFC] Btrfs: Subpagesize blocksize (WIP).
...ext)); + BUG_ON(!eb); + } /* the pending IO might have been the only thing that kept this buffer * in memory. Make sure we have a ref for all this other checks @@ -615,8 +673,11 @@ static int btree_readpage_end_io_hook(struct page *page, u64 start, u64 end, btrfs_set_buffer_lockdep_class(btrfs_header_owner(eb), eb, found_level); - ret = csum_tree_block(root, eb, 1); - if (ret) { + /* + * Subpagesize blocksize checksumming is currently done in + * btree_read_extent_buffer_pages(). + */ + if (eb->len >= PAGE_SIZE && csum_tree_block(root, eb, 1)) { ret = -EIO; goto...