Btrfs: use join_transaction in btrfs_evict_inode()
authorLi Zefan <lizf@cn.fujitsu.com>
Wed, 8 Jun 2011 03:56:44 +0000 (03:56 +0000)
committerChris Mason <chris.mason@oracle.com>
Sat, 11 Jun 2011 12:31:55 +0000 (08:31 -0400)
commit30b4caf5d73af5c99cf1b2b46496d8bc35330992
tree009c4e72049ec03e6e7254b8b8c15e5af7c7e1ad
parent22b63a2971c5657dfc1bf4514f9410fc90c8b2c2
Btrfs: use join_transaction in btrfs_evict_inode()

The WARN_ON() in start_transaction() was triggered while balancing.

The cause is btrfs_relocate_chunk() started a transaction and
then called iput() on the inode that stores free space cache,
and iput() called btrfs_start_transaction() again.

Reported-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com>
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Reviewed-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/inode.c