/* Target cache size levels. */
extern int bluesky_watermark_low_dirty;
extern int bluesky_watermark_medium_dirty;
+extern int bluesky_watermark_med2_dirty;
extern int bluesky_watermark_high_dirty;
extern int bluesky_watermark_low_total;
extern int bluesky_watermark_medium_total;
+extern int bluesky_watermark_med2_total;
extern int bluesky_watermark_high_total;
/* TODO: Make this go away entirely. */
uint32_t size1, size2, size3;
} __attribute__((packed));
+// Rough size limit for a log segment. This is not a firm limit and there are
+// no absolute guarantees on the size of a log segment.
+#define LOG_SEGMENT_SIZE (1 << 22)
+
#define JOURNAL_MAGIC "\nLog"
#define CLOUDLOG_MAGIC "AgI-"
#define CLOUDLOG_MAGIC_ENCRYPTED "AgI=" // CLOUDLOG_MAGIC[3] ^= 0x10
BlueSkyCloudLog *bluesky_cloudlog_get(BlueSkyFS *fs, BlueSkyCloudID id);
void bluesky_cloudlog_prefetch(BlueSkyCloudLog *log);
void bluesky_cloudlog_fetch(BlueSkyCloudLog *log);
+void bluesky_cloudlog_background_fetch(BlueSkyCloudLog *item);
BlueSkyCloudPointer bluesky_cloudlog_serialize(BlueSkyCloudLog *log,
BlueSkyFS *fs);
void bluesky_cloudlog_flush(BlueSkyFS *fs);