Upgrade to 4.4.50-rt62
[kvmfornfv.git] / kernel / fs / xfs / xfs_log_recover.c
index c5ecaac..8cab78e 100644 (file)
@@ -3204,6 +3204,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)
@@ -3224,8 +3225,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
@@ -3975,6 +3980,7 @@ xlog_recover_clear_agi_bucket(
        agi->agi_unlinked[bucket] = cpu_to_be32(NULLAGINO);
        offset = offsetof(xfs_agi_t, agi_unlinked) +
                 (sizeof(xfs_agino_t) * bucket);
+       xfs_trans_buf_set_type(tp, agibp, XFS_BLFT_AGI_BUF);
        xfs_trans_log_buf(tp, agibp, offset,
                          (offset + sizeof(xfs_agino_t) - 1));