A few more minor fixes cleaning up the cloud log state counting.
[bluesky.git] / bluesky / cache.c
index 3afceca..b05baf8 100644 (file)
@@ -195,6 +195,8 @@ static void flushd_cloud(BlueSkyFS *fs)
             journal_seq_start);
 
     fs->log->journal_watermark = journal_seq_start;
+
+    bluesky_inode_map_minimize(fs);
 }
 
 /* Drop cached data for a given inode, if it is clean.  inode must be locked. */
@@ -215,9 +217,6 @@ static void drop_caches(BlueSkyInode *inode)
             log->data = NULL;
             bluesky_cloudlog_stats_update(log, 1);
         }
-        if (log->location_flags & CLOUDLOG_CLOUD) {
-            log->location_flags &= ~CLOUDLOG_JOURNAL;
-        }
         g_mutex_unlock(log->lock);
     }
 }
@@ -279,6 +278,13 @@ static gpointer flushd_task(BlueSkyFS *fs)
 {
     if (!g_mutex_trylock(fs->flushd_lock))
         return NULL;
+
+    g_print("\nCloudlog cache: %d dirty, %d writeback, %d journal, %d cloud\n",
+            g_atomic_int_get(&fs->cache_log_dirty),
+            g_atomic_int_get(&fs->cache_log_writeback),
+            g_atomic_int_get(&fs->cache_log_journal),
+            g_atomic_int_get(&fs->cache_log_cloud));
+
     flushd_dirty(fs);
     flushd_cloud(fs);
     flushd_clean(fs);