]> git.hungrycats.org Git - linux/commit
Btrfs: fix hang when failing to submit bio of directIO
authorLiu Bo <bo.li.liu@oracle.com>
Wed, 17 Jun 2015 08:59:57 +0000 (16:59 +0800)
committerZygo Blaxell <zblaxell@thirteen.furryterror.org>
Sat, 4 Jul 2015 01:50:43 +0000 (21:50 -0400)
commitaf56227eef4e2c37f6a87118fba2a5903c1b4770
tree0c0d0435faca2ceb177b1c668ca0279f8707784e
parentb73743a7880ab626c84a164c77b4ca128aae410b
Btrfs: fix hang when failing to submit bio of directIO

The hang is uncoverd by generic/019.

btrfs_endio_direct_write() skips the "finish_ordered_fn" part when it hits
an error, thus those added ordered extents will never get processed, which
block processes that waiting for them via btrfs_start_ordered_extent().

This fixes the above, and meanwhile finish_ordered_fn will do the space
accounting work.

Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Tested-by: Filipe Manana <fdmanana@suse.com>
(cherry picked from commit 70466207b172c10c72f22bf9e233b898611f497c)
fs/btrfs/inode.c