From 5ebd988d48e6d816452e191379fd554409d48019 Mon Sep 17 00:00:00 2001 From: Chris Mason Date: Fri, 4 Jan 2008 09:34:54 -0500 Subject: [PATCH] --- yaml --- r: 128595 b: refs/heads/master c: 1372f8e609d260c2352bf74e125614eef7aee8ef h: refs/heads/master i: 128593: b2da9c502e85a997bfdb5b53cf8b5757dcdbf1ed 128591: fe911333f58562becd921bdc108be204010537ab v: v3 --- [refs] | 2 +- trunk/fs/btrfs/extent-tree.c | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 3e9133c2e9df..a5c9dc810134 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2552488345ea0933711010ee2c844792130a4252 +refs/heads/master: 1372f8e609d260c2352bf74e125614eef7aee8ef diff --git a/trunk/fs/btrfs/extent-tree.c b/trunk/fs/btrfs/extent-tree.c index 426a0222e12f..c390fd847a27 100644 --- a/trunk/fs/btrfs/extent-tree.c +++ b/trunk/fs/btrfs/extent-tree.c @@ -2434,7 +2434,15 @@ int btrfs_shrink_extent_tree(struct btrfs_root *root, u64 new_size) break; } leaf = path->nodes[0]; - nritems = btrfs_header_nritems(leaf); + btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]); + + /* + * btrfs_next_leaf doesn't cow buffers, we have to + * do the search again + */ + memcpy(&key, &found_key, sizeof(key)); + btrfs_release_path(root, path); + continue; } btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]);