fs/reiser4/plugin/item/extent_item_ops.c |    6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff -puN fs/reiser4/plugin/item/extent_item_ops.c~reiser4-kill_hook_extent-fix fs/reiser4/plugin/item/extent_item_ops.c
--- linux-2.6.12-rc3-mm3/fs/reiser4/plugin/item/extent_item_ops.c~reiser4-kill_hook_extent-fix  2005-05-12 17:44:28.211859850 +0400
+++ linux-2.6.12-rc3-mm3-vs/fs/reiser4/plugin/item/extent_item_ops.c    2005-05-12 17:46:10.117503150 +0400
@@ -349,10 +349,9 @@ kill_hook_extent(const coord_t *coord, p
                        */
                       /* if neighbors of item being removed are znodes -
                        * link them */
-                       UNDER_RW_VOID(tree, tree,
-                                     write, link_left_and_right(left, right));
-
+                       WLOCK_TREE(tree);
                       WLOCK_DK(tree);
+                       link_left_and_right(left, right);
                       if (left) {
                               /* update right delimiting key of left
                                * neighbor of extent item */
@@ -368,6 +367,7 @@ kill_hook_extent(const coord_t *coord, p
                               znode_set_rd_key(left, &key);
                       }
                       WUNLOCK_DK(tree);
+                       WUNLOCK_TREE(tree);

                       from_off = get_key_offset(&min_item_key) >> PAGE_CACHE_SHIFT;
                       to_off = (get_key_offset(&max_item_key) + 1) >> PAGE_CACHE_SHIFT;

_