armink / FlashDB

An ultra-lightweight database that supports key-value and time series data | 一款支持 KV 数据和时序数据的超轻量级数据库
Apache License 2.0
1.84k stars 426 forks source link

fdb_tsl_status_t end_info_stat[2]这里结束信息为啥需要2呢? #298

Open zbqxyz opened 4 months ago

zbqxyz commented 4 months ago

fdb_tsl_status_t end_info_stat[2]这里结束信息为啥需要2呢?

armink commented 4 months ago

我记得是为了掉电保护考虑的,有些时候可能保存一半掉电了

Mason-Zhang-X-C commented 2 months ago

image 如果连续掉电, 也就是在同一个sector掉电两次,那么 两个 end_info_stat有可能都是FDB_TSL_PRE_WRITE,是会进入这个ASSERT的吧

armink commented 2 months ago

image 如果连续掉电, 也就是在同一个sector掉电两次,那么 两个 end_info_stat有可能都是FDB_TSL_PRE_WRITE,是会进入这个ASSERT的吧

是的,这种极端异常还没有做好支持