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;
_