|
|
|
@ -175,8 +175,6 @@ int ftl_trim(struct ftl_map *map, uint32_t va) |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
--map->nused_pages; |
|
|
|
|
|
|
|
|
|
for (i = 0; i < 32; ++i) { |
|
|
|
|
level = 32 - i - 1; |
|
|
|
|
|
|
|
|
@ -186,6 +184,7 @@ int ftl_trim(struct ftl_map *map, uint32_t va) |
|
|
|
|
|
|
|
|
|
if (i == 32) { |
|
|
|
|
map->root = UINT32_MAX; |
|
|
|
|
map->nused_pages = 0; |
|
|
|
|
|
|
|
|
|
memset(&page_desc, 0xff, sizeof page_desc); |
|
|
|
|
page_desc.nused_pages = 0; |
|
|
|
@ -196,6 +195,8 @@ int ftl_trim(struct ftl_map *map, uint32_t va) |
|
|
|
|
if (read_page_desc(map, &alt_page_desc, alt_page) < 0) |
|
|
|
|
return -1; |
|
|
|
|
|
|
|
|
|
--map->nused_pages; |
|
|
|
|
|
|
|
|
|
page_desc.va = alt_page_desc.va; |
|
|
|
|
page_desc.nused_pages = map->nused_pages; |
|
|
|
|
page_desc.subtrees[level] = UINT32_MAX; |
|
|
|
|