diff options
author | Liu Bo | 2015-06-17 10:59:57 +0200 |
---|---|---|
committer | Chris Mason | 2015-07-02 02:17:20 +0200 |
commit | ad9ee2053f3f2babebc09ebc4970daa66c56c7ee (patch) | |
tree | 07c9c002e3b0af7a496ff93ad7d52773c6361244 /fs/fs_pin.c | |
parent | Btrfs: fix a comment in inode.c:evict_inode_truncate_pages() (diff) | |
download | kernel-qcow2-linux-ad9ee2053f3f2babebc09ebc4970daa66c56c7ee.tar.gz kernel-qcow2-linux-ad9ee2053f3f2babebc09ebc4970daa66c56c7ee.tar.xz kernel-qcow2-linux-ad9ee2053f3f2babebc09ebc4970daa66c56c7ee.zip |
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>
Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs/fs_pin.c')
0 files changed, 0 insertions, 0 deletions