diff options
author | Dave Chinner <david@fromorbit.com> | 2016-01-11 23:04:30 +0300 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2016-01-11 23:04:30 +0300 |
commit | dde7f55bd000696acc38296c21241971e1840142 (patch) | |
tree | 79fd17020de1ea6921107ad3dbabf5eb33a88838 /fs/xfs/xfs_log_recover.c | |
parent | 4922be51ef1a95ca6a38694cf0cde5dd0308a24e (diff) | |
parent | 7d6a13f023567d573ac362502bb702eda716e654 (diff) | |
download | linux-dde7f55bd000696acc38296c21241971e1840142.tar.xz |
Merge branch 'xfs-misc-fixes-for-4.5-2' into for-next
Diffstat (limited to 'fs/xfs/xfs_log_recover.c')
-rw-r--r-- | fs/xfs/xfs_log_recover.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c index 26e67b4450cc..da37beb76f6e 100644 --- a/fs/xfs/xfs_log_recover.c +++ b/fs/xfs/xfs_log_recover.c @@ -3521,6 +3521,7 @@ xlog_recover_dquot_ra_pass2( struct xfs_disk_dquot *recddq; struct xfs_dq_logformat *dq_f; uint type; + int len; if (mp->m_qflags == 0) @@ -3541,8 +3542,12 @@ xlog_recover_dquot_ra_pass2( ASSERT(dq_f); ASSERT(dq_f->qlf_len == 1); - xfs_buf_readahead(mp->m_ddev_targp, dq_f->qlf_blkno, - XFS_FSB_TO_BB(mp, dq_f->qlf_len), NULL); + len = XFS_FSB_TO_BB(mp, dq_f->qlf_len); + if (xlog_peek_buffer_cancelled(log, dq_f->qlf_blkno, len, 0)) + return; + + xfs_buf_readahead(mp->m_ddev_targp, dq_f->qlf_blkno, len, + &xfs_dquot_buf_ra_ops); } STATIC void |