diff --git a/source/ftl/ftl.c b/source/ftl/ftl.c index 68f3d49..a54dc07 100644 --- a/source/ftl/ftl.c +++ b/source/ftl/ftl.c @@ -132,6 +132,7 @@ int ftl_sync(struct ftl_map *map) { struct ftl_page_desc page_desc; size_t len; + int ret; uint32_t dst, src; if (!(map->outstanding.flags & FTL_PRESENT)) @@ -148,6 +149,10 @@ int ftl_sync(struct ftl_map *map) page_desc.nused_pages = map->nused_pages; + if ((ret = trace_path(map, &page_desc, NULL, map->outstanding.va)) < 0 && + ret != -ERR_NOT_FOUND) + return -1; + if (write_page_desc(map, &page_desc) < 0) return -1;