]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: unpin log if rename operation fails
authorFilipe Manana <fdmanana@suse.com>
Fri, 29 Apr 2016 10:34:22 +0000 (11:34 +0100)
committerFilipe Manana <fdmanana@suse.com>
Fri, 13 May 2016 00:59:18 +0000 (01:59 +0100)
commit0fe01334f8769efea06c3711da560d8125c33d9d
treeda778eb649c5ba5fada99372055777fd62ae09f7
parenta32e57201bc138258bf317ce0fe613740691b43c
Btrfs: unpin log if rename operation fails

If rename operations fail at some point after we pinned the log, we end
up aborting the current transaction but never unpin the log, which leaves
concurrent tasks that are trying to sync the log (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>
fs/btrfs/inode.c