FlashDB icon indicating copy to clipboard operation
FlashDB copied to clipboard

tsdb的max_len参数问题

Open ivan7wl opened this issue 4 years ago • 3 comments

tsdb数据库初始化时,会指定max_len参数,限制是比扇区大小小即可。 但是tsl_append()中,有以下语句: db->cur_sec.remain -= LOG_IDX_DATA_SIZE + FDB_WG_ALIGN(blob->size); 例如设置扇区大小为4096,max_len为4095,最终可能导致remain为负数,最终导致数据混乱,fal write partition地址为负数。

ivan7wl avatar Feb 01 '21 12:02 ivan7wl

是的,关于 max_len 的断言检查应该更加严苛一些,一些 meta data 的空间也要考虑进去

armink avatar Feb 02 '21 00:02 armink

如果我扇区8192,max_len 4096,这样不会有问题吧?

ivan7wl avatar Feb 02 '21 07:02 ivan7wl

不会的

armink avatar Feb 02 '21 07:02 armink