|
|
|
@ -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; |
|
|
|
|