提交 1b826f27 编写于 作者: C ChenLiang 提交者: Amit Shah

xbzrle: rebuild the cache_is_cached function

Rebuild the cache_is_cached function by cache_get_by_addr. And
drops the asserts because the caller is also asserting the same
thing.
Signed-off-by: NChenLiang <chenliang88@huawei.com>
Signed-off-by: NGonglei <arei.gonglei@huawei.com>
Reviewed-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: NAmit Shah <amit.shah@redhat.com>
上级 27af7d6e
......@@ -125,24 +125,6 @@ static size_t cache_get_cache_pos(const PageCache *cache,
return pos;
}
bool cache_is_cached(const PageCache *cache, uint64_t addr,
uint64_t current_age)
{
size_t pos;
g_assert(cache);
g_assert(cache->page_cache);
pos = cache_get_cache_pos(cache, addr);
if (cache->page_cache[pos].it_addr == addr) {
/* update the it_age when the cache hit */
cache->page_cache[pos].it_age = current_age;
return true;
}
return false;
}
static CacheItem *cache_get_by_addr(const PageCache *cache, uint64_t addr)
{
size_t pos;
......@@ -160,14 +142,26 @@ uint8_t *get_cached_data(const PageCache *cache, uint64_t addr)
return cache_get_by_addr(cache, addr)->it_data;
}
bool cache_is_cached(const PageCache *cache, uint64_t addr,
uint64_t current_age)
{
CacheItem *it;
it = cache_get_by_addr(cache, addr);
if (it->it_addr == addr) {
/* update the it_age when the cache hit */
it->it_age = current_age;
return true;
}
return false;
}
int cache_insert(PageCache *cache, uint64_t addr, const uint8_t *pdata,
uint64_t current_age)
{
CacheItem *it = NULL;
g_assert(cache);
g_assert(cache->page_cache);
CacheItem *it;
/* actual update of entry */
it = cache_get_by_addr(cache, addr);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册