#include <glib.h>
#include <string.h>
-#include "bluesky.h"
+#include "bluesky-private.h"
/* Core filesystem: handling of regular files and caching of file data. */
}
bluesky_inode_update_ctime(inode, 1);
+ bluesky_inode_flush(inode->fs, inode);
}
void bluesky_file_read(BlueSkyInode *inode, uint64_t offset,
if (block->type != BLUESKY_BLOCK_REF)
return;
- g_print("Fetching block from %s\n", 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. */
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);
bluesky_store_put(fs->store, name, data);
g_free(block->ref);
block->ref = name;
block->type = BLUESKY_BLOCK_REF;
g_checksum_free(csum);
- bluesky_string_unref(data);
+ //bluesky_string_unref(data);
}