Move encryption into S3 backend.
[bluesky.git] / bluesky / file.c
index 5a4fe9b..607d611 100644 (file)
@@ -10,7 +10,7 @@
 #include <glib.h>
 #include <string.h>
 
-#include "bluesky.h"
+#include "bluesky-private.h"
 
 /* Core filesystem: handling of regular files and caching of file data. */
 
@@ -111,6 +111,7 @@ void bluesky_file_write(BlueSkyInode *inode, uint64_t offset,
     }
 
     bluesky_inode_update_ctime(inode, 1);
+    bluesky_inode_flush(inode->fs, inode);
 }
 
 void bluesky_file_read(BlueSkyInode *inode, uint64_t offset,
@@ -153,13 +154,11 @@ void bluesky_block_fetch(BlueSkyFS *fs, BlueSkyBlock *block)
     if (block->type != BLUESKY_BLOCK_REF)
         return;
 
-    g_print("Fetching block from %s\n", block->ref);
-    BlueSkyRCStr *string = s3store_get(fs->store, block->ref);
+    BlueSkyRCStr *string = bluesky_store_get(fs->store, block->ref);
 
     bluesky_string_unref(block->data);
-    block->data = bluesky_crypt_decrypt(string, fs->encryption_key);
+    block->data = string;
     block->type = BLUESKY_BLOCK_CACHED;
-    bluesky_string_unref(string);
 }
 
 /* Write the given block to cloud-backed storage and mark it clean. */
@@ -169,14 +168,12 @@ void bluesky_block_flush(BlueSkyFS *fs, BlueSkyBlock *block)
         return;
 
     BlueSkyRCStr *data = block->data;
-    data = bluesky_crypt_encrypt(data, fs->encryption_key);
 
     GChecksum *csum = g_checksum_new(G_CHECKSUM_SHA256);
     g_checksum_update(csum, data->data, data->len);
     gchar *name = g_strdup(g_checksum_get_string(csum));
 
-    g_print("Flushing block as %s\n", name);
-    s3store_put(fs->store, name, data);
+    bluesky_store_put(fs->store, name, data);
     g_free(block->ref);
     block->ref = name;
 
@@ -186,5 +183,5 @@ void bluesky_block_flush(BlueSkyFS *fs, BlueSkyBlock *block)
     block->type = BLUESKY_BLOCK_REF;
 
     g_checksum_free(csum);
-    bluesky_string_unref(data);
+    //bluesky_string_unref(data);
 }