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: ChenLiang <chenliang88@huawei.com>
Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
This commit is contained in:
ChenLiang 2014-11-24 19:55:48 +08:00 committed by Amit Shah
parent 27af7d6ea5
commit 1b826f2778

View File

@ -125,24 +125,6 @@ static size_t cache_get_cache_pos(const PageCache *cache,
return pos; 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) static CacheItem *cache_get_by_addr(const PageCache *cache, uint64_t addr)
{ {
size_t pos; 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; 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, int cache_insert(PageCache *cache, uint64_t addr, const uint8_t *pdata,
uint64_t current_age) uint64_t current_age)
{ {
CacheItem *it = NULL; CacheItem *it;
g_assert(cache);
g_assert(cache->page_cache);
/* actual update of entry */ /* actual update of entry */
it = cache_get_by_addr(cache, addr); it = cache_get_by_addr(cache, addr);