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? */
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;
}