* then we'll just skip the file on this pass. */
if (g_mutex_trylock(cachefile->lock)) {
int64_t age = bluesky_get_current_time() - cachefile->atime;
- g_print("%s addr=%p mapcount=%d refcount=%d atime_age=%f",
+ g_print("%s addr=%p mapcount=%d refcount=%d size=%d atime_age=%f",
cachefile->filename, cachefile->addr, cachefile->mapcount,
- cachefile->refcount, age / 1e6);
+ cachefile->refcount, cachefile->disk_used, age / 1e6);
if (cachefile->fetching)
g_print(" (fetching)");
g_print("\n");
cachefile->filename);
}
- g_atomic_int_add(&fs->log->disk_used, -(cachefile->len / 1024));
+ g_atomic_int_add(&fs->log->disk_used, -cachefile->disk_used);
g_hash_table_remove(fs->log->mmap_cache, cachefile->filename);
+ bluesky_rangeset_free(cachefile->items);
+ if (cachefile->prefetches != NULL)
+ bluesky_rangeset_free(cachefile->prefetches);
g_mutex_unlock(cachefile->lock);
g_mutex_free(cachefile->lock);
g_cond_free(cachefile->cond);