diff options
Diffstat (limited to 'fs/xfs/xfs_rtalloc.c')
-rw-r--r-- | fs/xfs/xfs_rtalloc.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c index b271ed939d7b..98dc670d3ee0 100644 --- a/fs/xfs/xfs_rtalloc.c +++ b/fs/xfs/xfs_rtalloc.c | |||
@@ -1876,6 +1876,11 @@ xfs_growfs_rt( | |||
1876 | XFS_FSB_TO_BB(mp, 1), 0, NULL); | 1876 | XFS_FSB_TO_BB(mp, 1), 0, NULL); |
1877 | if (!bp) | 1877 | if (!bp) |
1878 | return EIO; | 1878 | return EIO; |
1879 | if (bp->b_error) { | ||
1880 | error = bp->b_error; | ||
1881 | xfs_buf_relse(bp); | ||
1882 | return error; | ||
1883 | } | ||
1879 | xfs_buf_relse(bp); | 1884 | xfs_buf_relse(bp); |
1880 | 1885 | ||
1881 | /* | 1886 | /* |
@@ -2221,8 +2226,10 @@ xfs_rtmount_init( | |||
2221 | bp = xfs_buf_read_uncached(mp->m_rtdev_targp, | 2226 | bp = xfs_buf_read_uncached(mp->m_rtdev_targp, |
2222 | d - XFS_FSB_TO_BB(mp, 1), | 2227 | d - XFS_FSB_TO_BB(mp, 1), |
2223 | XFS_FSB_TO_BB(mp, 1), 0, NULL); | 2228 | XFS_FSB_TO_BB(mp, 1), 0, NULL); |
2224 | if (!bp) { | 2229 | if (!bp || bp->b_error) { |
2225 | xfs_warn(mp, "realtime device size check failed"); | 2230 | xfs_warn(mp, "realtime device size check failed"); |
2231 | if (bp) | ||
2232 | xfs_buf_relse(bp); | ||
2226 | return EIO; | 2233 | return EIO; |
2227 | } | 2234 | } |
2228 | xfs_buf_relse(bp); | 2235 | xfs_buf_relse(bp); |