BlueSkyOptions bluesky_options;
+/* Environment variables that can be used to initialize settings. */
+static struct {
+ const char *env;
+ int *option;
+} option_table[] = {
+ {"BLUESKY_OPT_SYNC_STORES", &bluesky_options.synchronous_stores},
+ {"BLUESKY_OPT_WRITETHROUGH", &bluesky_options.writethrough_cache},
+ {"BLUESKY_OPT_SYNC_INODE_FETCH", &bluesky_options.sync_inode_fetches},
+ {"BLUESKY_OPT_SYNC_FRONTENDS", &bluesky_options.sync_frontends},
+ {NULL, NULL}
+};
+
/* BlueSky library initialization. */
void bluesky_store_init_s3(void);
+void bluesky_store_init_kv(void);
/* Initialize the BlueSky library and dependent libraries. */
void bluesky_init(void)
g_thread_init(NULL);
bluesky_crypt_init();
- bluesky_options.synchronous_stores = 1;
- bluesky_options.writethrough_cache = 1;
+ for (int i = 0; option_table[i].env != NULL; i++) {
+ const char *val = getenv(option_table[i].env);
+ if (val != NULL) {
+ int v = atoi(val);
+ g_print("Option %s set to %d\n", option_table[i].env, v);
+ *option_table[i].option = atoi(val);
+ }
+ }
bluesky_store_init();
+ bluesky_store_init_kv();
bluesky_store_init_s3();
}