summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Mason <chris.mason@fusionio.com>2012-12-18 21:43:18 +0100
committerChris Mason <chris.mason@fusionio.com>2012-12-18 21:43:18 +0100
commit4c3e696981a565aace08678e70c40709a85f9b2b (patch)
tree30f5c6c00b6fc2691b92446f8af984fbac235c60
parentBtrfs: fix a bug of per-file nocow (diff)
downloadlinux-4c3e696981a565aace08678e70c40709a85f9b2b.tar.xz
linux-4c3e696981a565aace08678e70c40709a85f9b2b.zip
Revert "Btrfs: MOD_LOG_KEY_REMOVE_WHILE_MOVING never change node's nritems"
This reverts commit 95c80bb1f6b24b57058d971ed252b2c1c5121b51. The bug addressed by this commit was fixed differently back in 3.6 Signed-off-by: Chris Mason <chris.mason@fusionio.com>
-rw-r--r--fs/btrfs/ctree.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index c7b67cf24bba..569c0dfb526c 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -1138,13 +1138,13 @@ __tree_mod_log_rewind(struct extent_buffer *eb, u64 time_seq,
switch (tm->op) {
case MOD_LOG_KEY_REMOVE_WHILE_FREEING:
BUG_ON(tm->slot < n);
- case MOD_LOG_KEY_REMOVE:
- n++;
case MOD_LOG_KEY_REMOVE_WHILE_MOVING:
+ case MOD_LOG_KEY_REMOVE:
btrfs_set_node_key(eb, &tm->key, tm->slot);
btrfs_set_node_blockptr(eb, tm->slot, tm->blockptr);
btrfs_set_node_ptr_generation(eb, tm->slot,
tm->generation);
+ n++;
break;
case MOD_LOG_KEY_REPLACE:
BUG_ON(tm->slot >= n);