search for: lowest_level

Displaying 6 results from an estimated 6 matches for "lowest_level".

2013 Aug 29
23
[PATCH] Btrfs: optimize key searches in btrfs_search_slot
...+ + return 0; +} + /* * look for key in the tree. path is filled in with nodes along the way * if key is found, we return zero and you can find the item in the leaf @@ -2454,6 +2507,7 @@ int btrfs_search_slot(struct btrfs_trans_handle *trans, struct btrfs_root int write_lock_level = 0; u8 lowest_level = 0; int min_write_lock_level; + int prev_cmp; lowest_level = p->lowest_level; WARN_ON(lowest_level && ins_len > 0); @@ -2484,6 +2538,7 @@ int btrfs_search_slot(struct btrfs_trans_handle *trans, struct btrfs_root min_write_lock_level = write_lock_level; again: + prev_cmp...
2012 Jun 21
0
[RFC PATCH V2] Btrfs: introduce extent buffer cache for each i-node
...- ins_len, int cow) +static int __search_slot(struct btrfs_trans_handle *trans, + struct btrfs_root *root, struct extent_buffer *b, + struct btrfs_key *key, struct btrfs_path *p, + int ins_len, int cow, int lowest_unlock, + int *write_lock_level, int min_write_lock_level, + u8 lowest_level, bool search_from_root) { - struct extent_buffer *b; int slot; + int level; int ret; int err; - int level; - int lowest_unlock = 1; - int root_lock; - /* everything at write_lock_level or lower must be write locked */ - int write_lock_level = 0; - u8 lowest_level = 0; - int min_write_lock_le...
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
...mp;root_key, root_item); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); kfree(root_item); reloc_root = btrfs_read_fs_root_no_radix(root->fs_info->tree_root, @@ -7313,7 +7313,7 @@ static noinline int relocate_one_path(struct btrfs_trans_handle *trans, if (!root->ref_cows) { path->lowest_level = lowest_level; ret = btrfs_search_slot(trans, root, first_key, path, 0, 1); - BUG_ON(ret < 0); + btrfs_fixable_bug_on(ret < 0); path->lowest_level = 0; btrfs_release_path(root, path); return 0; @@ -7321,7 +7321,7 @@ static noinline int relocate_one_path(struct btrfs_trans_ha...
2011 Jan 28
0
[PATCH] ctree code cleanups
...le (1) { nritems = btrfs_header_nritems(cur); level = btrfs_header_level(cur); - sret = bin_search(cur, min_key, level, &slot); + sret = btrfs_bin_search(cur, min_key, level, &slot); /* at the lowest level, we''re done, setup the path and exit */ if (level == path->lowest_level) { -- Goldwyn -- 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
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
2009 May 12
0
[PATCH 1/2] btrfs-progs: mixed back ref support
...used while walking the tree. */ + struct btrfs_path { struct extent_buffer *nodes[BTRFS_MAX_LEVEL]; int slots[BTRFS_MAX_LEVEL]; + /* if there is real range locking, this locks field will change */ + int locks[BTRFS_MAX_LEVEL]; int reada; + /* keep some upper locks as we walk down */ int lowest_level; /* * set by btrfs_split_item, tells search_slot to keep all locks * and to force calls to keep space in the nodes */ - int search_for_split; + unsigned int search_for_split:1; + unsigned int keep_locks:1; + unsigned int skip_locking:1; + unsigned int leave_spinning:1; }; /* * it...