summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorDavid Chinner <dgc@sgi.com>2008-04-17 16:49:35 +1000
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-04-18 12:02:41 +1000
commitd4055947bd0913864f4d8ac96bf1197338071622 (patch)
tree260f91444acd5cc81999b08ba32dd40be4a078c0 /fs
parent1bb7d6b5a82f1d9487fd44415484a368f7c87bed (diff)
downloadlwn-d4055947bd0913864f4d8ac96bf1197338071622.tar.gz
lwn-d4055947bd0913864f4d8ac96bf1197338071622.zip
[XFS] Don't error out on good I/Os.
xfsbdstrat() made all I/Os error out, good or bad. Fix it. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30836a Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Donald Douwsma <donaldd@sgi.com> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/xfs/linux-2.6/xfs_lrw.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/xfs/linux-2.6/xfs_lrw.c b/fs/xfs/linux-2.6/xfs_lrw.c
index f6dab5d8944e..21c0dbc74093 100644
--- a/fs/xfs/linux-2.6/xfs_lrw.c
+++ b/fs/xfs/linux-2.6/xfs_lrw.c
@@ -885,8 +885,10 @@ xfsbdstrat(
struct xfs_buf *bp)
{
ASSERT(mp);
- if (!XFS_FORCED_SHUTDOWN(mp))
+ if (!XFS_FORCED_SHUTDOWN(mp)) {
xfs_buf_iorequest(bp);
+ return;
+ }
xfs_buftrace("XFSBDSTRAT IOERROR", bp);
xfs_bioerror_relse(bp);