diff options
author | Jiri Kosina <jkosina@suse.cz> | 2013-01-29 04:48:30 -0500 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2013-01-29 04:48:30 -0500 |
commit | 617677295b53a40d0e54aac4cbbc216ffbc755dd (patch) | |
tree | 51b9e87213243ed5efff252c8e8d8fec4eebc588 /fs/xfs/xfs_rtalloc.c | |
parent | 5c8d1b68e01a144813e38795fe6dbe7ebb506131 (diff) | |
parent | 6abb7c25775b7fb2225ad0508236d63ca710e65f (diff) |
Merge branch 'master' into for-next
Conflicts:
drivers/devfreq/exynos4_bus.c
Sync with Linus' tree to be able to apply patches that are
against newer code (mvneta).
Diffstat (limited to 'fs/xfs/xfs_rtalloc.c')
-rw-r--r-- | fs/xfs/xfs_rtalloc.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c index ca28a4ba4b54..98dc670d3ee0 100644 --- a/fs/xfs/xfs_rtalloc.c +++ b/fs/xfs/xfs_rtalloc.c | |||
@@ -38,6 +38,7 @@ | |||
38 | #include "xfs_utils.h" | 38 | #include "xfs_utils.h" |
39 | #include "xfs_trace.h" | 39 | #include "xfs_trace.h" |
40 | #include "xfs_buf.h" | 40 | #include "xfs_buf.h" |
41 | #include "xfs_icache.h" | ||
41 | 42 | ||
42 | 43 | ||
43 | /* | 44 | /* |
@@ -869,7 +870,7 @@ xfs_rtbuf_get( | |||
869 | ASSERT(map.br_startblock != NULLFSBLOCK); | 870 | ASSERT(map.br_startblock != NULLFSBLOCK); |
870 | error = xfs_trans_read_buf(mp, tp, mp->m_ddev_targp, | 871 | error = xfs_trans_read_buf(mp, tp, mp->m_ddev_targp, |
871 | XFS_FSB_TO_DADDR(mp, map.br_startblock), | 872 | XFS_FSB_TO_DADDR(mp, map.br_startblock), |
872 | mp->m_bsize, 0, &bp); | 873 | mp->m_bsize, 0, &bp, NULL); |
873 | if (error) | 874 | if (error) |
874 | return error; | 875 | return error; |
875 | ASSERT(!xfs_buf_geterror(bp)); | 876 | ASSERT(!xfs_buf_geterror(bp)); |
@@ -1872,9 +1873,14 @@ xfs_growfs_rt( | |||
1872 | */ | 1873 | */ |
1873 | bp = xfs_buf_read_uncached(mp->m_rtdev_targp, | 1874 | bp = xfs_buf_read_uncached(mp->m_rtdev_targp, |
1874 | XFS_FSB_TO_BB(mp, nrblocks - 1), | 1875 | XFS_FSB_TO_BB(mp, nrblocks - 1), |
1875 | XFS_FSB_TO_BB(mp, 1), 0); | 1876 | XFS_FSB_TO_BB(mp, 1), 0, NULL); |
1876 | if (!bp) | 1877 | if (!bp) |
1877 | return EIO; | 1878 | return EIO; |
1879 | if (bp->b_error) { | ||
1880 | error = bp->b_error; | ||
1881 | xfs_buf_relse(bp); | ||
1882 | return error; | ||
1883 | } | ||
1878 | xfs_buf_relse(bp); | 1884 | xfs_buf_relse(bp); |
1879 | 1885 | ||
1880 | /* | 1886 | /* |
@@ -2219,9 +2225,11 @@ xfs_rtmount_init( | |||
2219 | } | 2225 | } |
2220 | bp = xfs_buf_read_uncached(mp->m_rtdev_targp, | 2226 | bp = xfs_buf_read_uncached(mp->m_rtdev_targp, |
2221 | d - XFS_FSB_TO_BB(mp, 1), | 2227 | d - XFS_FSB_TO_BB(mp, 1), |
2222 | XFS_FSB_TO_BB(mp, 1), 0); | 2228 | XFS_FSB_TO_BB(mp, 1), 0, NULL); |
2223 | if (!bp) { | 2229 | if (!bp || bp->b_error) { |
2224 | 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); | ||
2225 | return EIO; | 2233 | return EIO; |
2226 | } | 2234 | } |
2227 | xfs_buf_relse(bp); | 2235 | xfs_buf_relse(bp); |