Btrfs: do not run snapshot-aware defragment on error
authorLiu Bo <bo.li.liu@oracle.com>
Tue, 29 Oct 2013 02:45:05 +0000 (10:45 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Dec 2013 15:49:09 +0000 (07:49 -0800)
commit9e5787dec9c785cc58e27c03d9c3e5536d18698a
tree675ce6d9daa747b3efebdb25446d7b6219c593f9
parent486d1e163be2d32150a053c7ac3fc853ba6fd998
Btrfs: do not run snapshot-aware defragment on error

commit 6f519564d7d978c00351d9ab6abac3deeac31621 upstream.

If something wrong happens in write endio, running snapshot-aware defragment
can end up with undefined results, maybe a crash, so we should avoid it.

In order to share similar code, this also adds a helper to free the struct for
snapshot-aware defrag.

Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/btrfs/inode.c