X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Ffile.c;h=8faae004275c6d3e35115968142b9ec0e0b1afe2;hb=60b4792d65ba4b2a45733894f6a57e6581ddc487;hp=b107a40e32337c1f0f3eb5b46a586d1099432a5c;hpb=810fdc7bdf0cd13aaa7c88d3c5af5aae24e77254;p=bluesky.git diff --git a/bluesky/file.c b/bluesky/file.c index b107a40..8faae00 100644 --- a/bluesky/file.c +++ b/bluesky/file.c @@ -266,17 +266,14 @@ void bluesky_block_flush(BlueSkyFS *fs, BlueSkyBlock *block, BlueSkyRCStr *data = block->data; - GChecksum *csum = g_checksum_new(G_CHECKSUM_SHA256); - g_checksum_update(csum, (const guchar *)data->data, data->len); - gchar *name = g_strdup(g_checksum_get_string(csum)); - - /* Start commit to the local log. */ - BlueSkyLogItem *log_item = bluesky_log_item_new(); - log_item->key = g_strdup(name); - log_item->data = data; + BlueSkyCloudLog *cloudlog = bluesky_cloudlog_new(fs); + gchar *name = bluesky_cloudlog_id_to_string(cloudlog->id); + cloudlog->type = LOGTYPE_DATA; + cloudlog->inum = 0; //FIXME + cloudlog->data = data; bluesky_string_ref(data); - bluesky_log_item_submit(log_item, fs->log); - *log_items = g_list_prepend(*log_items, log_item); + *log_items = g_list_prepend(*log_items, bluesky_cloudlog_sync(cloudlog)); + bluesky_cloudlog_insert(cloudlog); /* Store the file data asynchronously, and don't bother waiting for a * response. */ @@ -295,8 +292,6 @@ void bluesky_block_flush(BlueSkyFS *fs, BlueSkyBlock *block, block->type = BLUESKY_BLOCK_CACHED; g_atomic_int_add(&fs->cache_dirty, -1); - - g_checksum_free(csum); } /* Flush all blocks in a file to stable storage. */