Btrfs: unpin logs if rename exchange operation fails
authorFilipe Manana <fdmanana@suse.com>
Thu, 5 May 2016 01:02:27 +0000 (02:02 +0100)
committerFilipe Manana <fdmanana@suse.com>
Fri, 13 May 2016 00:59:26 +0000 (01:59 +0100)
If rename exchange operations fail at some point after we pinned any of
the logs, we end up aborting the current transaction but never unpin the
logs, which leaves concurrent tasks that are trying to sync the logs (as
part of an fsync request from user space) blocked forever and preventing
the filesystem from being unmountable.

Fix this by safely unpinning the log.

Signed-off-by: Filipe Manana <fdmanana@suse.com>

No differences found