Finish up loading of checkpoints from cloud logs.
[bluesky.git] / bluesky / imap.c
index 0cdf9c5..a3d27ca 100644 (file)
@@ -203,7 +203,7 @@ static void bluesky_inode_map_deserialize(BlueSkyFS *fs, BlueSkyCloudLog *imap)
             entry = bluesky_inode_map_lookup(fs->inode_map, *inum, 1);
             entry->inum = *inum;
             entry->item = g_array_index(section->links,
-                                        BlueSkyCloudLog *, i);
+                                        BlueSkyCloudLog *, j);
             bluesky_cloudlog_ref(entry->item);
             entry->id = entry->item->id;
             entry->location = entry->item->location;
@@ -225,6 +225,7 @@ gboolean bluesky_checkpoint_load(BlueSkyFS *fs)
 
     g_print("Last cloud log segment: %s\n", last_segment);
     int seq = atoi(last_segment + 13);
+    fs->log_state->location.sequence = seq + 1;
 
     BlueSkyRCStr *last = bluesky_store_get(fs->store, last_segment);
     g_free(last_segment);
@@ -280,7 +281,7 @@ gboolean bluesky_checkpoint_load(BlueSkyFS *fs)
     g_mutex_unlock(commit->lock);
 
     bluesky_inode_map_deserialize(fs, commit);
-    bluesky_cloudlog_unref(commit);
+    //bluesky_cloudlog_unref(commit);
 
     return TRUE;
 }