diff options
author | Dave Chinner <dchinner@redhat.com> | 2010-07-20 11:52:59 +0400 |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2010-07-26 22:16:48 +0400 |
commit | ec53d1dbb3ca960e7b552397613358ba1dbd12bd (patch) | |
tree | 9b04fd4e4f1149ce0b5927c9f9a89d26fa6a3d4a /block | |
parent | a4190f90b4e22bde8b01b0086e00dd95439e2edd (diff) | |
download | linux-ec53d1dbb3ca960e7b552397613358ba1dbd12bd.tar.xz |
xfs: don't block on buffer read errors
xfs_buf_read() fails to detect dispatch errors before attempting to
wait on sychronous IO. If there was an error, it will get stuck
forever, waiting for an I/O that was never started. Make sure the
error is detected correctly.
Further, such a failure can leave locked pages in the page cache
which will cause a later operation to hang on the page. Ensure that
we correctly process pages in the buffers when we get a dispatch
error.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions