diff options
Diffstat (limited to 'fs/xfs/xfs_log_recover.c')
-rw-r--r-- | fs/xfs/xfs_log_recover.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c index 22946949bf5e..be173852b2ca 100644 --- a/fs/xfs/xfs_log_recover.c +++ b/fs/xfs/xfs_log_recover.c | |||
@@ -268,9 +268,12 @@ xlog_bwrite( | |||
268 | xfs_buf_lock(bp); | 268 | xfs_buf_lock(bp); |
269 | XFS_BUF_SET_COUNT(bp, BBTOB(nbblks)); | 269 | XFS_BUF_SET_COUNT(bp, BBTOB(nbblks)); |
270 | 270 | ||
271 | if ((error = xfs_bwrite(log->l_mp, bp))) | 271 | error = xfs_bwrite(bp); |
272 | if (error) { | ||
272 | xfs_ioerror_alert("xlog_bwrite", log->l_mp, | 273 | xfs_ioerror_alert("xlog_bwrite", log->l_mp, |
273 | bp, XFS_BUF_ADDR(bp)); | 274 | bp, XFS_BUF_ADDR(bp)); |
275 | } | ||
276 | xfs_buf_relse(bp); | ||
274 | return error; | 277 | return error; |
275 | } | 278 | } |
276 | 279 | ||
@@ -2172,15 +2175,15 @@ xlog_recover_buffer_pass2( | |||
2172 | (XFS_BUF_COUNT(bp) != MAX(log->l_mp->m_sb.sb_blocksize, | 2175 | (XFS_BUF_COUNT(bp) != MAX(log->l_mp->m_sb.sb_blocksize, |
2173 | (__uint32_t)XFS_INODE_CLUSTER_SIZE(log->l_mp)))) { | 2176 | (__uint32_t)XFS_INODE_CLUSTER_SIZE(log->l_mp)))) { |
2174 | XFS_BUF_STALE(bp); | 2177 | XFS_BUF_STALE(bp); |
2175 | error = xfs_bwrite(mp, bp); | 2178 | error = xfs_bwrite(bp); |
2176 | } else { | 2179 | } else { |
2177 | ASSERT(bp->b_target->bt_mount == mp); | 2180 | ASSERT(bp->b_target->bt_mount == mp); |
2178 | bp->b_iodone = xlog_recover_iodone; | 2181 | bp->b_iodone = xlog_recover_iodone; |
2179 | xfs_buf_delwri_queue(bp); | 2182 | xfs_buf_delwri_queue(bp); |
2180 | xfs_buf_relse(bp); | ||
2181 | } | 2183 | } |
2182 | 2184 | ||
2183 | return (error); | 2185 | xfs_buf_relse(bp); |
2186 | return error; | ||
2184 | } | 2187 | } |
2185 | 2188 | ||
2186 | STATIC int | 2189 | STATIC int |