} else {
if (r->end + diff > r->sz) r->end = r->sz - diff;
rearrange_sectors(r, r->start + diff, r->start, r->end - r->start);
- r->start += diff; r->end += diff;
+ r->pos -= diff; r->start += diff; r->end += diff;
#ifdef DEBUG
show_recovery_buffer_map(r, "shifted up by %"PRIuSEC"", diff);
#endif
} else {
if (r->start < diff) r->start = diff;
rearrange_sectors(r, r->start - diff, r->start, r->end - r->start);
- r->start -= diff; r->end -= diff;
+ r->pos += diff; r->start -= diff; r->end -= diff;
#ifdef DEBUG
show_recovery_buffer_map(r, "shifted down by %"PRIuSEC"", diff);
#endif