Add partial journal replay to filesystem recovery.
[bluesky.git] / bluesky / bluesky-private.h
index 5bb18f9..85eb99c 100644 (file)
@@ -187,6 +187,11 @@ typedef enum {
     LOGTYPE_INODE = 2,
     LOGTYPE_INODE_MAP = 3,
     LOGTYPE_CHECKPOINT = 4,
+
+    /* Used only as metadata in the local journal, not loaded as a
+     * BlueSkyCloudLogState nor stored in the cloud */
+    LOGTYPE_JOURNAL_MARKER = 16,
+    LOGTYPE_JOURNAL_CHECKPOINT = 17,
 } BlueSkyCloudLogType;
 
 /* Headers that go on items in local log segments and cloud log segments. */
@@ -344,6 +349,9 @@ struct _BlueSkyCacheFile {
 BlueSkyLog *bluesky_log_new(const char *log_directory);
 void bluesky_log_item_submit(BlueSkyCloudLog *item, BlueSkyLog *log);
 void bluesky_log_finish_all(GList *log_items);
+BlueSkyCloudLog *bluesky_log_get_commit_point(BlueSkyFS *fs);
+void bluesky_log_write_commit_point(BlueSkyFS *fs, BlueSkyCloudLog *marker);
+
 BlueSkyRCStr *bluesky_log_map_object(BlueSkyFS *fs, int log_dir, int log_seq,
                                      int log_offset, int log_size);
 void bluesky_mmap_unref(BlueSkyCacheFile *mmap);