新增map绑定转储诊断(dhara_map_find+裸读绑定页):跨boot对比定界树分歧与数据丢失
This commit is contained in:
@@ -274,6 +274,10 @@ void StartDefaultTask(void *argument)
|
||||
nand_ftl_set_tree_probe(0);
|
||||
if (hfr != FR_OK) {
|
||||
nand_ftl_scan_checks(); /* 诊断:环上 checkpoint 的 epoch 分布 */
|
||||
/* 诊断:本 boot(复位后)树绑定 + 绑定页裸读内容 */
|
||||
nand_ftl_dump_binding(0, "postreset");
|
||||
nand_ftl_dump_binding(15, "postreset");
|
||||
nand_ftl_dump_binding(16, "postreset");
|
||||
}
|
||||
if (hfr != FR_OK) {
|
||||
if (hfr == FR_DENIED || hfr == FR_INVALID_OBJECT ||
|
||||
@@ -297,6 +301,11 @@ void StartDefaultTask(void *argument)
|
||||
nand_ftl_log_state("[after-mkfs]");
|
||||
if (fr == FR_OK) {
|
||||
DBG_INFO("[FS] volume reformatted OK");
|
||||
/* 诊断:重格式化后树绑定 + 绑定页裸读内容(与下次
|
||||
* boot 的 postreset 对比:地址分歧=树问题,内容变化=数据丢失) */
|
||||
nand_ftl_dump_binding(0, "fresh");
|
||||
nand_ftl_dump_binding(15, "fresh");
|
||||
nand_ftl_dump_binding(16, "fresh");
|
||||
} else {
|
||||
DBG_ERROR("[FS] volume repair failed (fr=%d)", (int)fr);
|
||||
syslog_post(SYSLOG_SELFTEST, "storage fault");
|
||||
|
||||
Reference in New Issue
Block a user