Btrfs: fix an oops when we fail to relocate tree blocks
authorWang Shilong <wangsl.fnst@cn.fujitsu.com>
Sat, 28 Dec 2013 11:52:39 +0000 (19:52 +0800)
committerChris Mason <clm@fb.com>
Tue, 28 Jan 2014 21:20:14 +0000 (13:20 -0800)
During balance test, we hit an oops:
[ 2013.841551] kernel BUG at fs/btrfs/relocation.c:1174!

The problem is that if we fail to relocate tree blocks, we should
update backref cache, otherwise, some pending nodes are not updated
while snapshot check @cache->last_trans is within one transaction
and won't update it and then oops happen.

Signed-off-by: Wang Shilong <wangsl.fnst@cn.fujitsu.com>
Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Chris Mason <clm@fb.com>
fs/btrfs/relocation.c

Simple merge