Implement a rangeset data type and use it to track items in log segments.
[bluesky.git] / bluesky / cache.c
index bfbfe3c..12b8be7 100644 (file)
@@ -361,6 +361,7 @@ void bluesky_cachefile_gc(BlueSkyFS *fs)
 
                 g_atomic_int_add(&fs->log->disk_used, -(cachefile->len / 1024));
                 g_hash_table_remove(fs->log->mmap_cache, cachefile->filename);
+                bluesky_rangeset_free(cachefile->items);
                 g_mutex_unlock(cachefile->lock);
                 g_mutex_free(cachefile->lock);
                 g_cond_free(cachefile->cond);