summaryrefslogtreecommitdiff
path: root/fs/btrfs/transaction.c
diff options
context:
space:
mode:
authorJosef Bacik <jbacik@fusionio.com>2013-02-06 21:49:15 (GMT)
committerJosef Bacik <jbacik@fusionio.com>2013-02-20 17:59:33 (GMT)
commit3e04e7f10b68999e0d8321516ea19d9d5b044dee (patch)
tree9a7aab9c6a1f99be02d155edf36a42e5ba89d3d7 /fs/btrfs/transaction.c
parent70afa3998c9baed4186df38988246de1abdab56d (diff)
downloadlinux-fsl-qoriq-3e04e7f10b68999e0d8321516ea19d9d5b044dee.tar.xz
Btrfs: handle errors in compression submission path
I noticed we would deadlock if we aborted a transaction while doing compressed io. This is because we don't unlock our pages if something goes horribly wrong. To fix this we need to make sure that we call extent_clear_unlock_delalloc in order to unlock all the pages. If we have to cow in the async submission thread we need to make sure to unlock our locked_page as the cow error path will not unlock the locked page as it depends on the caller to unlock that page. With this patch we no longer deadlock on the page lock when we have an aborted transaction. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Diffstat (limited to 'fs/btrfs/transaction.c')
0 files changed, 0 insertions, 0 deletions