Btrfs: fix an oops when we fail to merge reloc roots
authorWang Shilong <wangsl.fnst@cn.fujitsu.com>
Thu, 26 Dec 2013 05:10:50 +0000 (13:10 +0800)
committerChris Mason <clm@fb.com>
Tue, 28 Jan 2014 21:20:13 +0000 (13:20 -0800)
commit25e293c2a2916b58cdafb8219c0e93d6277762d7
tree1b7863325fbc937cc13c6439824a7d1b80537ea0
parentdc4103f933291cb1a2e6742c4db432e6ed337bae
Btrfs: fix an oops when we fail to merge reloc roots

Previously, we will free reloc root memory and then force filesystem
to be readonly. The problem is that there may be another thread commiting
transaction which will try to access freed reloc root during merging reloc
roots process.

To keep consistency snapshots shared space, we should allow snapshot
finished if possible, so here we don't free reloc root memory.

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