Fix some build warning on linux.
This commit is contained in:
parent
9eea31ac18
commit
474fc522e5
@ -263,7 +263,11 @@ struct fdb_db {
|
|||||||
bool init_ok; /**< initialized successfully */
|
bool init_ok; /**< initialized successfully */
|
||||||
bool file_mode; /**< is file mode, default is false */
|
bool file_mode; /**< is file mode, default is false */
|
||||||
#ifdef FDB_USING_FILE_MODE
|
#ifdef FDB_USING_FILE_MODE
|
||||||
void *cur_file; /**< current file object */
|
#if defined(FDB_USING_FILE_POSIX_MODE)
|
||||||
|
int cur_file; /**< current file object */
|
||||||
|
#elif defined(FDB_USING_FILE_LIBC_MODE)
|
||||||
|
FILE *cur_file; /**< current file object */
|
||||||
|
#endif
|
||||||
uint32_t cur_sec; /**< current operate sector address */
|
uint32_t cur_sec; /**< current operate sector address */
|
||||||
#endif
|
#endif
|
||||||
void (*lock)(fdb_db_t db); /**< lock the database operate */
|
void (*lock)(fdb_db_t db); /**< lock the database operate */
|
||||||
@ -325,3 +329,4 @@ typedef struct fdb_blob *fdb_blob_t;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _FDB_DEF_H_ */
|
#endif /* _FDB_DEF_H_ */
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ void tsdb_sample(fdb_tsdb_t tsdb)
|
|||||||
fdb_tsl_iter_by_time(tsdb, from_time, to_time, query_by_time_cb, tsdb);
|
fdb_tsl_iter_by_time(tsdb, from_time, to_time, query_by_time_cb, tsdb);
|
||||||
/* query all FDB_TSL_WRITE status TSL's count in TSDB by time */
|
/* query all FDB_TSL_WRITE status TSL's count in TSDB by time */
|
||||||
count = fdb_tsl_query_count(tsdb, from_time, to_time, FDB_TSL_WRITE);
|
count = fdb_tsl_query_count(tsdb, from_time, to_time, FDB_TSL_WRITE);
|
||||||
FDB_INFO("query count is: %u\n", count);
|
FDB_INFO("query count is: %zu\n", count);
|
||||||
}
|
}
|
||||||
|
|
||||||
{ /* SET the TSL status */
|
{ /* SET the TSL status */
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
#include <flashdb.h>
|
#include <flashdb.h>
|
||||||
#include <fdb_low_lvl.h>
|
#include <fdb_low_lvl.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
#define FDB_LOG_TAG ""
|
#define FDB_LOG_TAG ""
|
||||||
|
|
||||||
@ -40,9 +41,9 @@ fdb_err_t _fdb_init_ex(fdb_db_t db, const char *name, const char *part_name, fdb
|
|||||||
FDB_ASSERT(db->sec_size != 0);
|
FDB_ASSERT(db->sec_size != 0);
|
||||||
FDB_ASSERT(db->max_size != 0);
|
FDB_ASSERT(db->max_size != 0);
|
||||||
#ifdef FDB_USING_POSIX_MODE
|
#ifdef FDB_USING_POSIX_MODE
|
||||||
db->cur_file = (void *)-1;
|
db->cur_file = -1;
|
||||||
#else
|
#else
|
||||||
db->cur_file = (void *)0;
|
db->cur_file = 0;
|
||||||
#endif
|
#endif
|
||||||
db->storage.dir = part_name;
|
db->storage.dir = part_name;
|
||||||
FDB_ASSERT(strlen(part_name) != 0)
|
FDB_ASSERT(strlen(part_name) != 0)
|
||||||
@ -94,3 +95,4 @@ void _fdb_init_finish(fdb_db_t db, fdb_err_t result)
|
|||||||
db->name, (int)result);
|
db->name, (int)result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,10 +34,15 @@ static void get_db_file_path(fdb_db_t db, uint32_t addr, char *path, size_t size
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if defined(FDB_USING_FILE_POSIX_MODE)
|
#if defined(FDB_USING_FILE_POSIX_MODE)
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
static int open_db_file(fdb_db_t db, uint32_t addr, bool clean)
|
static int open_db_file(fdb_db_t db, uint32_t addr, bool clean)
|
||||||
{
|
{
|
||||||
uint32_t sec_addr = RT_ALIGN_DOWN(addr, db->sec_size);
|
uint32_t sec_addr = FDB_ALIGN_DOWN(addr, db->sec_size);
|
||||||
int fd = (int)db->cur_file;
|
int fd = db->cur_file;
|
||||||
char path[DB_PATH_MAX];
|
char path[DB_PATH_MAX];
|
||||||
|
|
||||||
if (sec_addr != db->cur_sec || fd <= 0 || clean) {
|
if (sec_addr != db->cur_sec || fd <= 0 || clean) {
|
||||||
@ -49,7 +54,7 @@ static int open_db_file(fdb_db_t db, uint32_t addr, bool clean)
|
|||||||
}
|
}
|
||||||
if (clean) {
|
if (clean) {
|
||||||
/* clean the old file */
|
/* clean the old file */
|
||||||
fd = open(path, O_RDWR | O_CREAT | O_TRUNC, 0);
|
fd = open(path, O_RDWR | O_CREAT | O_TRUNC, 0777);
|
||||||
if (fd <= 0) {
|
if (fd <= 0) {
|
||||||
FDB_INFO("Error: open (%s) file failed.\n", path);
|
FDB_INFO("Error: open (%s) file failed.\n", path);
|
||||||
}
|
}
|
||||||
@ -59,12 +64,12 @@ static int open_db_file(fdb_db_t db, uint32_t addr, bool clean)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* open the database file */
|
/* open the database file */
|
||||||
fd = open(path, O_RDWR, 0);
|
fd = open(path, O_RDWR, 0777);
|
||||||
db->cur_sec = sec_addr;
|
db->cur_sec = sec_addr;
|
||||||
}
|
}
|
||||||
db->cur_file = (void *)fd;
|
db->cur_file = fd;
|
||||||
|
|
||||||
return (int)db->cur_file;
|
return db->cur_file;
|
||||||
}
|
}
|
||||||
|
|
||||||
fdb_err_t _fdb_file_read(fdb_db_t db, uint32_t addr, void *buf, size_t size)
|
fdb_err_t _fdb_file_read(fdb_db_t db, uint32_t addr, void *buf, size_t size)
|
||||||
@ -207,3 +212,4 @@ fdb_err_t _fdb_file_erase(fdb_db_t db, uint32_t addr, size_t size)
|
|||||||
#endif /* defined(FDB_USING_FILE_LIBC_MODE) */
|
#endif /* defined(FDB_USING_FILE_LIBC_MODE) */
|
||||||
|
|
||||||
#endif /* FDB_USING_FILE_MODE */
|
#endif /* FDB_USING_FILE_MODE */
|
||||||
|
|
||||||
|
@ -62,7 +62,6 @@
|
|||||||
|
|
||||||
#define KV_STATUS_TABLE_SIZE FDB_STATUS_TABLE_SIZE(FDB_KV_STATUS_NUM)
|
#define KV_STATUS_TABLE_SIZE FDB_STATUS_TABLE_SIZE(FDB_KV_STATUS_NUM)
|
||||||
|
|
||||||
//TODO 文件模式如何支持
|
|
||||||
#define SECTOR_NUM (db_max_size(db) / db_sec_size(db))
|
#define SECTOR_NUM (db_max_size(db) / db_sec_size(db))
|
||||||
|
|
||||||
#define SECTOR_HDR_DATA_SIZE (FDB_WG_ALIGN(sizeof(struct sector_hdr_data)))
|
#define SECTOR_HDR_DATA_SIZE (FDB_WG_ALIGN(sizeof(struct sector_hdr_data)))
|
||||||
@ -687,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 (%d) is too less (%zu).\n", FDB_STR_KV_VALUE_MAX_SIZE,
|
||||||
blob.saved.len);
|
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");
|
||||||
@ -976,7 +975,7 @@ static uint32_t new_kv(fdb_kvdb_t db, kv_sec_info_t sector, size_t kv_size)
|
|||||||
__retry:
|
__retry:
|
||||||
|
|
||||||
if ((empty_kv = alloc_kv(db, sector, kv_size)) == FAILED_ADDR && db->gc_request && !already_gc) {
|
if ((empty_kv = alloc_kv(db, sector, kv_size)) == FAILED_ADDR && db->gc_request && !already_gc) {
|
||||||
FDB_DEBUG("Warning: Alloc an KV (size %u) failed when new KV. Now will GC then retry.\n", kv_size);
|
FDB_DEBUG("Warning: Alloc an KV (size %zu) failed when new KV. Now will GC then retry.\n", kv_size);
|
||||||
gc_collect(db);
|
gc_collect(db);
|
||||||
already_gc = true;
|
already_gc = true;
|
||||||
goto __retry;
|
goto __retry;
|
||||||
@ -1045,7 +1044,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", empty_sec, FDB_GC_EMPTY_SEC_THRESHOLD);
|
FDB_DEBUG("The remain empty sector is %zu, GC threshold is %d.\n", 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);
|
||||||
}
|
}
|
||||||
@ -1340,7 +1339,7 @@ __reload:
|
|||||||
}
|
}
|
||||||
_fdb_flash_read((fdb_db_t)db, kv->addr.value + len, (uint32_t *) buf, FDB_WG_ALIGN(size));
|
_fdb_flash_read((fdb_db_t)db, kv->addr.value + len, (uint32_t *) buf, FDB_WG_ALIGN(size));
|
||||||
if (print_value) {
|
if (print_value) {
|
||||||
FDB_PRINT("%.*s", size, buf);
|
FDB_PRINT("%.*s", (int)size, buf);
|
||||||
} else if (!fdb_is_str(buf, size)) {
|
} else if (!fdb_is_str(buf, size)) {
|
||||||
value_is_str = false;
|
value_is_str = false;
|
||||||
break;
|
break;
|
||||||
@ -1384,7 +1383,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", using_size + (size_t)((SECTOR_NUM - FDB_GC_EMPTY_SEC_THRESHOLD) * SECTOR_HDR_DATA_SIZE),
|
FDB_PRINT("size: %zu/%zu bytes.\n", using_size + (size_t)((SECTOR_NUM - FDB_GC_EMPTY_SEC_THRESHOLD) * SECTOR_HDR_DATA_SIZE),
|
||||||
(size_t)(db_max_size(db) - db_sec_size(db) * FDB_GC_EMPTY_SEC_THRESHOLD));
|
(size_t)(db_max_size(db) - db_sec_size(db) * FDB_GC_EMPTY_SEC_THRESHOLD));
|
||||||
|
|
||||||
/* unlock the KV cache */
|
/* unlock the KV cache */
|
||||||
@ -1405,7 +1404,7 @@ static void kv_auto_update(fdb_kvdb_t db)
|
|||||||
struct fdb_kv kv;
|
struct fdb_kv kv;
|
||||||
size_t i, value_len;
|
size_t i, value_len;
|
||||||
struct kvdb_sec_info sector;
|
struct kvdb_sec_info sector;
|
||||||
FDB_DEBUG("Update the KV from version %u to %u.\n", saved_ver_num, setting_ver_num);
|
FDB_DEBUG("Update the KV from version %zu to %zu.\n", saved_ver_num, setting_ver_num);
|
||||||
for (i = 0; i < db->default_kvs.num; i++) {
|
for (i = 0; i < db->default_kvs.num; i++) {
|
||||||
/* add a new KV when it's not found */
|
/* add a new KV when it's not found */
|
||||||
if (!find_kv(db, db->default_kvs.kvs[i].key, &kv)) {
|
if (!find_kv(db, db->default_kvs.kvs[i].key, &kv)) {
|
||||||
@ -1614,7 +1613,7 @@ fdb_err_t fdb_kvdb_init(fdb_kvdb_t db, const char *name, const char *part_name,
|
|||||||
}
|
}
|
||||||
#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 %zu bytes.\n", (size_t)db_max_size(db));
|
||||||
|
|
||||||
result = _fdb_kv_load(db);
|
result = _fdb_kv_load(db);
|
||||||
|
|
||||||
@ -1696,3 +1695,4 @@ bool fdb_kv_iterate(fdb_kvdb_t db, fdb_kv_iterator_t itr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endif /* defined(FDB_USING_KVDB) */
|
#endif /* defined(FDB_USING_KVDB) */
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user