| From e0228285a8cad70e4b7b4833cc650e36ecd8de89 Mon Sep 17 00:00:00 2001 |
| From: Josef Bacik <jbacik@fusionio.com> |
| Date: Fri, 20 Sep 2013 22:26:29 -0400 |
| Subject: Btrfs: reset intwrite on transaction abort |
| |
| From: Josef Bacik <jbacik@fusionio.com> |
| |
| commit e0228285a8cad70e4b7b4833cc650e36ecd8de89 upstream. |
| |
| If we abort a transaction in the middle of a commit we weren't undoing the |
| intwrite locking. This patch fixes that problem. |
| |
| 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/transaction.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/fs/btrfs/transaction.c |
| +++ b/fs/btrfs/transaction.c |
| @@ -1552,6 +1552,8 @@ static void cleanup_transaction(struct b |
| root->fs_info->running_transaction = NULL; |
| spin_unlock(&root->fs_info->trans_lock); |
| |
| + if (trans->type & __TRANS_FREEZABLE) |
| + sb_end_intwrite(root->fs_info->sb); |
| put_transaction(cur_trans); |
| put_transaction(cur_trans); |
| |