ftl: fix off by one in garbage collection code

tags/0.1.0
S.J.R. van Schaik 8 years ago
parent 4b651b19f1
commit b0c53116d6
  1. 8
      source/ftl/ftl.c

@ -540,13 +540,13 @@ static int free_tail(struct ftl_journal *j)
{
size_t log2_pages_per_block = j->log2_pages_per_group +
j->log2_groups_per_block;
size_t npages = j->nblocks << log2_pages_per_block;
size_t npages = j->nblocks << log2_pages_per_block;
size_t dist;
if (j->tail < j->head)
dist = npages - j->head + j->tail;
else
if (j->head < j->tail)
dist = j->tail - j->head;
else
dist = npages - j->head + j->tail;
if (dist > (UINT32_C(1) << log2_pages_per_block))
return 0;

Loading…
Cancel
Save