Fix a flipped comparison in the memory pressure calculation
[bluesky.git] / bluesky / cache.c
index f3307d4..8cd2fb3 100644 (file)
@@ -433,7 +433,10 @@ static int compute_pressure(BlueSkyFS *fs)
     if (g_atomic_int_get(&fs->cache_dirty)
                 + g_atomic_int_get(&fs->cache_log_dirty)
            > bluesky_watermark_high_dirty)
+    {
+        g_print("pressure: too much dirty data (2)\n");
         return 2;
+    }
 
     /* Too much uncommitted data in the journal on disk, not yet flushed to the
      * cloud? */
@@ -443,17 +446,19 @@ static int compute_pressure(BlueSkyFS *fs)
     dirty_limit = bluesky_options.cache_size / (LOG_SEGMENT_SIZE / 1024) / 2;
     int dirty_journals = fs->log->seq_num - fs->log->journal_watermark + 1;
     if (dirty_journals > 1 && dirty_journals >= dirty_limit) {
-        printf("Too many dirty journals (%d >= %d)\n",
+        printf("pressure: too many dirty journals (%d >= %d) (2)\n",
                dirty_journals, dirty_limit);
         return 2;
     }
 
     /* LEVEL 1 */
-    if (g_atomic_int_get(&fs->cache_dirty) < bluesky_watermark_medium_dirty)
+    if (g_atomic_int_get(&fs->cache_dirty) > bluesky_watermark_medium_dirty) {
+        g_print("pressure: too much dirty data (1)\n");
         return 1;
+    }
 
     if (dirty_journals > 1 && dirty_journals > dirty_limit / 2) {
-        printf("Many dirty journals (%d), should start writeback\n",
+        printf("pressure: many dirty journals (%d), should start writeback (1)\n",
                dirty_journals);
         return 1;
     }