diff options
Diffstat (limited to 'fs/xfs/libxfs/xfs_rtbitmap.c')
-rw-r--r-- | fs/xfs/libxfs/xfs_rtbitmap.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/xfs/libxfs/xfs_rtbitmap.c b/fs/xfs/libxfs/xfs_rtbitmap.c index b228c821bae6..eaaff67e9626 100644 --- a/fs/xfs/libxfs/xfs_rtbitmap.c +++ b/fs/xfs/libxfs/xfs_rtbitmap.c | |||
@@ -505,6 +505,12 @@ xfs_rtmodify_summary_int( | |||
505 | uint first = (uint)((char *)sp - (char *)bp->b_addr); | 505 | uint first = (uint)((char *)sp - (char *)bp->b_addr); |
506 | 506 | ||
507 | *sp += delta; | 507 | *sp += delta; |
508 | if (mp->m_rsum_cache) { | ||
509 | if (*sp == 0 && log == mp->m_rsum_cache[bbno]) | ||
510 | mp->m_rsum_cache[bbno]++; | ||
511 | if (*sp != 0 && log < mp->m_rsum_cache[bbno]) | ||
512 | mp->m_rsum_cache[bbno] = log; | ||
513 | } | ||
508 | xfs_trans_log_buf(tp, bp, first, first + sizeof(*sp) - 1); | 514 | xfs_trans_log_buf(tp, bp, first, first + sizeof(*sp) - 1); |
509 | } | 515 | } |
510 | if (sum) | 516 | if (sum) |