diff options
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_buf.c')
| -rw-r--r-- | fs/xfs/linux-2.6/xfs_buf.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/fs/xfs/linux-2.6/xfs_buf.c b/fs/xfs/linux-2.6/xfs_buf.c index d1fe74506c4c..c57836dc778f 100644 --- a/fs/xfs/linux-2.6/xfs_buf.c +++ b/fs/xfs/linux-2.6/xfs_buf.c | |||
| @@ -596,7 +596,7 @@ _xfs_buf_read( | |||
| 596 | bp->b_flags |= flags & (XBF_READ | XBF_ASYNC | XBF_READ_AHEAD); | 596 | bp->b_flags |= flags & (XBF_READ | XBF_ASYNC | XBF_READ_AHEAD); |
| 597 | 597 | ||
| 598 | status = xfs_buf_iorequest(bp); | 598 | status = xfs_buf_iorequest(bp); |
| 599 | if (status || XFS_BUF_ISERROR(bp) || (flags & XBF_ASYNC)) | 599 | if (status || bp->b_error || (flags & XBF_ASYNC)) |
| 600 | return status; | 600 | return status; |
| 601 | return xfs_buf_iowait(bp); | 601 | return xfs_buf_iowait(bp); |
| 602 | } | 602 | } |
| @@ -679,7 +679,6 @@ xfs_buf_read_uncached( | |||
| 679 | /* set up the buffer for a read IO */ | 679 | /* set up the buffer for a read IO */ |
| 680 | XFS_BUF_SET_ADDR(bp, daddr); | 680 | XFS_BUF_SET_ADDR(bp, daddr); |
| 681 | XFS_BUF_READ(bp); | 681 | XFS_BUF_READ(bp); |
| 682 | XFS_BUF_BUSY(bp); | ||
| 683 | 682 | ||
| 684 | xfsbdstrat(mp, bp); | 683 | xfsbdstrat(mp, bp); |
| 685 | error = xfs_buf_iowait(bp); | 684 | error = xfs_buf_iowait(bp); |
| @@ -1069,7 +1068,7 @@ xfs_bioerror( | |||
| 1069 | /* | 1068 | /* |
| 1070 | * No need to wait until the buffer is unpinned, we aren't flushing it. | 1069 | * No need to wait until the buffer is unpinned, we aren't flushing it. |
| 1071 | */ | 1070 | */ |
| 1072 | XFS_BUF_ERROR(bp, EIO); | 1071 | xfs_buf_ioerror(bp, EIO); |
| 1073 | 1072 | ||
| 1074 | /* | 1073 | /* |
| 1075 | * We're calling xfs_buf_ioend, so delete XBF_DONE flag. | 1074 | * We're calling xfs_buf_ioend, so delete XBF_DONE flag. |
| @@ -1094,7 +1093,7 @@ STATIC int | |||
| 1094 | xfs_bioerror_relse( | 1093 | xfs_bioerror_relse( |
| 1095 | struct xfs_buf *bp) | 1094 | struct xfs_buf *bp) |
| 1096 | { | 1095 | { |
| 1097 | int64_t fl = XFS_BUF_BFLAGS(bp); | 1096 | int64_t fl = bp->b_flags; |
| 1098 | /* | 1097 | /* |
| 1099 | * No need to wait until the buffer is unpinned. | 1098 | * No need to wait until the buffer is unpinned. |
| 1100 | * We aren't flushing it. | 1099 | * We aren't flushing it. |
| @@ -1115,7 +1114,7 @@ xfs_bioerror_relse( | |||
| 1115 | * There's no reason to mark error for | 1114 | * There's no reason to mark error for |
| 1116 | * ASYNC buffers. | 1115 | * ASYNC buffers. |
| 1117 | */ | 1116 | */ |
| 1118 | XFS_BUF_ERROR(bp, EIO); | 1117 | xfs_buf_ioerror(bp, EIO); |
| 1119 | XFS_BUF_FINISH_IOWAIT(bp); | 1118 | XFS_BUF_FINISH_IOWAIT(bp); |
| 1120 | } else { | 1119 | } else { |
| 1121 | xfs_buf_relse(bp); | 1120 | xfs_buf_relse(bp); |
| @@ -1324,7 +1323,7 @@ xfs_buf_offset( | |||
| 1324 | struct page *page; | 1323 | struct page *page; |
| 1325 | 1324 | ||
| 1326 | if (bp->b_flags & XBF_MAPPED) | 1325 | if (bp->b_flags & XBF_MAPPED) |
| 1327 | return XFS_BUF_PTR(bp) + offset; | 1326 | return bp->b_addr + offset; |
| 1328 | 1327 | ||
| 1329 | offset += bp->b_offset; | 1328 | offset += bp->b_offset; |
| 1330 | page = bp->b_pages[offset >> PAGE_SHIFT]; | 1329 | page = bp->b_pages[offset >> PAGE_SHIFT]; |
| @@ -1484,7 +1483,7 @@ xfs_setsize_buftarg_flags( | |||
| 1484 | if (set_blocksize(btp->bt_bdev, sectorsize)) { | 1483 | if (set_blocksize(btp->bt_bdev, sectorsize)) { |
| 1485 | xfs_warn(btp->bt_mount, | 1484 | xfs_warn(btp->bt_mount, |
| 1486 | "Cannot set_blocksize to %u on device %s\n", | 1485 | "Cannot set_blocksize to %u on device %s\n", |
| 1487 | sectorsize, XFS_BUFTARG_NAME(btp)); | 1486 | sectorsize, xfs_buf_target_name(btp)); |
| 1488 | return EINVAL; | 1487 | return EINVAL; |
| 1489 | } | 1488 | } |
| 1490 | 1489 | ||
| @@ -1681,7 +1680,7 @@ xfs_buf_delwri_split( | |||
| 1681 | list_for_each_entry_safe(bp, n, dwq, b_list) { | 1680 | list_for_each_entry_safe(bp, n, dwq, b_list) { |
| 1682 | ASSERT(bp->b_flags & XBF_DELWRI); | 1681 | ASSERT(bp->b_flags & XBF_DELWRI); |
| 1683 | 1682 | ||
| 1684 | if (!XFS_BUF_ISPINNED(bp) && xfs_buf_trylock(bp)) { | 1683 | if (!xfs_buf_ispinned(bp) && xfs_buf_trylock(bp)) { |
| 1685 | if (!force && | 1684 | if (!force && |
| 1686 | time_before(jiffies, bp->b_queuetime + age)) { | 1685 | time_before(jiffies, bp->b_queuetime + age)) { |
| 1687 | xfs_buf_unlock(bp); | 1686 | xfs_buf_unlock(bp); |
