X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Fcache.c;h=7327e68a3376d7096f67e8604ae1c66d6e844813;hb=dddebb0ed8feb5ece494dbef1cb24ad2d4699b45;hp=12b8be7718224b120d78754dcdb62f9fec70283e;hpb=772058dfc33fbe4857864b4bdb8ba947eca19303;p=bluesky.git diff --git a/bluesky/cache.c b/bluesky/cache.c index 12b8be7..7327e68 100644 --- a/bluesky/cache.c +++ b/bluesky/cache.c @@ -328,9 +328,9 @@ void bluesky_cachefile_gc(BlueSkyFS *fs) * 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"); @@ -359,9 +359,11 @@ void bluesky_cachefile_gc(BlueSkyFS *fs) 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);