parent
6204074c9d
commit
45a146a527
@ -65,7 +65,7 @@ extern "C" {
|
|||||||
#define FDB_ASSERT(EXPR) \
|
#define FDB_ASSERT(EXPR) \
|
||||||
if (!(EXPR)) \
|
if (!(EXPR)) \
|
||||||
{ \
|
{ \
|
||||||
FDB_DEBUG("(%s) has assert failed at %s.\n", #EXPR, __FUNCTION__); \
|
FDB_DEBUG("(%s) has assert failed at %s.\n", #EXPR, __func__); \
|
||||||
while (1); \
|
while (1); \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
#define assert(EXPR) \
|
#define assert(EXPR) \
|
||||||
if (!(EXPR)) \
|
if (!(EXPR)) \
|
||||||
{ \
|
{ \
|
||||||
FAL_PRINTF("(%s) has assert failed at %s.\n", #EXPR, __FUNCTION__); \
|
FAL_PRINTF("(%s) has assert failed at %s.\n", #EXPR, __func__ ); \
|
||||||
while (1); \
|
while (1); \
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,7 +64,8 @@ if (!(EXPR)) \
|
|||||||
#ifdef log_d
|
#ifdef log_d
|
||||||
#undef log_d
|
#undef log_d
|
||||||
#endif
|
#endif
|
||||||
#define log_d(...) FAL_PRINTF("[D/FAL] (%s:%d) ", __FUNCTION__, __LINE__); FAL_PRINTF(__VA_ARGS__);FAL_PRINTF("\n")
|
#include <inttypes.h>
|
||||||
|
#define log_d(...) FAL_PRINTF("[D/FAL] (%s:%" PRIdLEAST16 ") ", __func__, __LINE__); FAL_PRINTF(__VA_ARGS__);FAL_PRINTF("\n")
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
@ -84,7 +85,7 @@ if (!(EXPR)) \
|
|||||||
#ifdef log_e
|
#ifdef log_e
|
||||||
#undef log_e
|
#undef log_e
|
||||||
#endif
|
#endif
|
||||||
#define log_e(...) FAL_PRINTF("\033[31;22m[E/FAL] (%s:%d) ", __FUNCTION__, __LINE__);FAL_PRINTF(__VA_ARGS__);FAL_PRINTF("\033[0m\n")
|
#define log_e(...) FAL_PRINTF("\033[31;22m[E/FAL] (%s:%d) ", __func__, __LINE__);FAL_PRINTF(__VA_ARGS__);FAL_PRINTF("\033[0m\n")
|
||||||
|
|
||||||
/* info level log */
|
/* info level log */
|
||||||
#ifdef log_i
|
#ifdef log_i
|
||||||
|
@ -686,7 +686,7 @@ char *fdb_kv_get(fdb_kvdb_t db, const char *key)
|
|||||||
value[get_size] = '\0';
|
value[get_size] = '\0';
|
||||||
return value;
|
return value;
|
||||||
} else if (blob.saved.len > FDB_STR_KV_VALUE_MAX_SIZE) {
|
} else if (blob.saved.len > FDB_STR_KV_VALUE_MAX_SIZE) {
|
||||||
FDB_INFO("Warning: The default string KV value buffer length (%d) is too less (%u).\n", FDB_STR_KV_VALUE_MAX_SIZE,
|
FDB_INFO("Warning: The default string KV value buffer length (%" PRIdLEAST16 ") is too less (%" PRIu32 ").\n", FDB_STR_KV_VALUE_MAX_SIZE,
|
||||||
(uint32_t)blob.saved.len);
|
(uint32_t)blob.saved.len);
|
||||||
} else {
|
} else {
|
||||||
FDB_INFO("Warning: The KV value isn't string. Could not be returned\n");
|
FDB_INFO("Warning: The KV value isn't string. Could not be returned\n");
|
||||||
@ -975,12 +975,12 @@ __retry:
|
|||||||
|
|
||||||
if ((empty_kv = alloc_kv(db, sector, kv_size)) == FAILED_ADDR) {
|
if ((empty_kv = alloc_kv(db, sector, kv_size)) == FAILED_ADDR) {
|
||||||
if (db->gc_request && !already_gc) {
|
if (db->gc_request && !already_gc) {
|
||||||
FDB_DEBUG("Warning: Alloc an KV (size %u) failed when new KV. Now will GC then retry.\n", (uint32_t)kv_size);
|
FDB_DEBUG("Warning: Alloc an KV (size %" PRIu32 ") failed when new KV. Now will GC then retry.\n", (uint32_t)kv_size);
|
||||||
gc_collect(db);
|
gc_collect(db);
|
||||||
already_gc = true;
|
already_gc = true;
|
||||||
goto __retry;
|
goto __retry;
|
||||||
} else if (already_gc) {
|
} else if (already_gc) {
|
||||||
FDB_DEBUG("Error: Alloc an KV (size %u) failed after GC. KV full.\n", kv_size);
|
FDB_DEBUG("Error: Alloc an KV (size %" PRIuLEAST16 ") failed after GC. KV full.\n", kv_size);
|
||||||
db->gc_request = false;
|
db->gc_request = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1048,7 +1048,7 @@ static void gc_collect(fdb_kvdb_t db)
|
|||||||
sector_iterator(db, §or, FDB_SECTOR_STORE_EMPTY, &empty_sec, NULL, gc_check_cb, false);
|
sector_iterator(db, §or, FDB_SECTOR_STORE_EMPTY, &empty_sec, NULL, gc_check_cb, false);
|
||||||
|
|
||||||
/* do GC collect */
|
/* do GC collect */
|
||||||
FDB_DEBUG("The remain empty sector is %u, GC threshold is %d.\n", (uint32_t)empty_sec, FDB_GC_EMPTY_SEC_THRESHOLD);
|
FDB_DEBUG("The remain empty sector is %" PRIu32 ", GC threshold is %" PRIdLEAST16 ".\n", (uint32_t)empty_sec, FDB_GC_EMPTY_SEC_THRESHOLD);
|
||||||
if (empty_sec <= FDB_GC_EMPTY_SEC_THRESHOLD) {
|
if (empty_sec <= FDB_GC_EMPTY_SEC_THRESHOLD) {
|
||||||
sector_iterator(db, §or, FDB_SECTOR_STORE_UNUSED, db, NULL, do_gc, false);
|
sector_iterator(db, §or, FDB_SECTOR_STORE_UNUSED, db, NULL, do_gc, false);
|
||||||
}
|
}
|
||||||
@ -1385,7 +1385,7 @@ void fdb_kv_print(fdb_kvdb_t db)
|
|||||||
kv_iterator(db, &kv, &using_size, db, print_kv_cb);
|
kv_iterator(db, &kv, &using_size, db, print_kv_cb);
|
||||||
|
|
||||||
FDB_PRINT("\nmode: next generation\n");
|
FDB_PRINT("\nmode: next generation\n");
|
||||||
FDB_PRINT("size: %u/%u bytes.\n", (uint32_t)using_size + ((SECTOR_NUM - FDB_GC_EMPTY_SEC_THRESHOLD) * SECTOR_HDR_DATA_SIZE),
|
FDB_PRINT("size: %" PRIu32 "/%" PRIu32 " bytes.\n", (uint32_t)using_size + ((SECTOR_NUM - FDB_GC_EMPTY_SEC_THRESHOLD) * SECTOR_HDR_DATA_SIZE),
|
||||||
db_max_size(db) - db_sec_size(db) * FDB_GC_EMPTY_SEC_THRESHOLD);
|
db_max_size(db) - db_sec_size(db) * FDB_GC_EMPTY_SEC_THRESHOLD);
|
||||||
|
|
||||||
/* unlock the KV cache */
|
/* unlock the KV cache */
|
||||||
@ -1559,10 +1559,24 @@ void fdb_kvdb_control(fdb_kvdb_t db, int cmd, void *arg)
|
|||||||
*(uint32_t *)arg = db->parent.sec_size;
|
*(uint32_t *)arg = db->parent.sec_size;
|
||||||
break;
|
break;
|
||||||
case FDB_KVDB_CTRL_SET_LOCK:
|
case FDB_KVDB_CTRL_SET_LOCK:
|
||||||
|
#if !defined(__ARMCC_VERSION) && defined(__GNUC__)
|
||||||
|
#pragma GCC diagnostic push
|
||||||
|
#pragma GCC diagnostic ignored "-Wpedantic"
|
||||||
|
#endif
|
||||||
db->parent.lock = (void (*)(fdb_db_t db))arg;
|
db->parent.lock = (void (*)(fdb_db_t db))arg;
|
||||||
|
#if !defined(__ARMCC_VERSION) && defined(__GNUC__)
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case FDB_KVDB_CTRL_SET_UNLOCK:
|
case FDB_KVDB_CTRL_SET_UNLOCK:
|
||||||
|
#if !defined(__ARMCC_VERSION) && defined(__GNUC__)
|
||||||
|
#pragma GCC diagnostic push
|
||||||
|
#pragma GCC diagnostic ignored "-Wpedantic"
|
||||||
|
#endif
|
||||||
db->parent.unlock = (void (*)(fdb_db_t db))arg;
|
db->parent.unlock = (void (*)(fdb_db_t db))arg;
|
||||||
|
#if !defined(__ARMCC_VERSION) && defined(__GNUC__)
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case FDB_KVDB_CTRL_SET_FILE_MODE:
|
case FDB_KVDB_CTRL_SET_FILE_MODE:
|
||||||
#ifdef FDB_USING_FILE_MODE
|
#ifdef FDB_USING_FILE_MODE
|
||||||
@ -1637,7 +1651,7 @@ fdb_err_t fdb_kvdb_init(fdb_kvdb_t db, const char *name, const char *path, struc
|
|||||||
}
|
}
|
||||||
#endif /* FDB_KV_USING_CACHE */
|
#endif /* FDB_KV_USING_CACHE */
|
||||||
|
|
||||||
FDB_DEBUG("KVDB size is %u bytes.\n", db_max_size(db));
|
FDB_DEBUG("KVDB size is %" PRIu32 " bytes.\n", db_max_size(db));
|
||||||
|
|
||||||
result = _fdb_kv_load(db);
|
result = _fdb_kv_load(db);
|
||||||
|
|
||||||
|
@ -800,10 +800,24 @@ void fdb_tsdb_control(fdb_tsdb_t db, int cmd, void *arg)
|
|||||||
*(uint32_t *)arg = db->parent.sec_size;
|
*(uint32_t *)arg = db->parent.sec_size;
|
||||||
break;
|
break;
|
||||||
case FDB_TSDB_CTRL_SET_LOCK:
|
case FDB_TSDB_CTRL_SET_LOCK:
|
||||||
|
#if !defined(__ARMCC_VERSION) && defined(__GNUC__)
|
||||||
|
#pragma GCC diagnostic push
|
||||||
|
#pragma GCC diagnostic ignored "-Wpedantic"
|
||||||
|
#endif
|
||||||
db->parent.lock = (void (*)(fdb_db_t db))arg;
|
db->parent.lock = (void (*)(fdb_db_t db))arg;
|
||||||
|
#if !defined(__ARMCC_VERSION) && defined(__GNUC__)
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case FDB_TSDB_CTRL_SET_UNLOCK:
|
case FDB_TSDB_CTRL_SET_UNLOCK:
|
||||||
|
#if !defined(__ARMCC_VERSION) && defined(__GNUC__)
|
||||||
|
#pragma GCC diagnostic push
|
||||||
|
#pragma GCC diagnostic ignored "-Wpedantic"
|
||||||
|
#endif
|
||||||
db->parent.unlock = (void (*)(fdb_db_t db))arg;
|
db->parent.unlock = (void (*)(fdb_db_t db))arg;
|
||||||
|
#if !defined(__ARMCC_VERSION) && defined(__GNUC__)
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case FDB_TSDB_CTRL_SET_ROLLOVER:
|
case FDB_TSDB_CTRL_SET_ROLLOVER:
|
||||||
/* this change MUST after database initialized */
|
/* this change MUST after database initialized */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user