interrupt iteraotor when read_section_info failed

This commit is contained in:
Lyon 2023-10-15 18:11:31 +08:00 committed by GitHub
parent deae3d1d3f
commit 2bdab72efa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -837,10 +837,10 @@ static void sector_iterator(fdb_kvdb_t db, kv_sec_info_t sector, fdb_sector_stor
sec_addr = db_oldest_addr(db);
do {
traversed_len += db_sec_size(db);
read_sector_info(db, sec_addr, sector, false);
if (FDB_NO_ERR != read_sector_info(db, sec_addr, sector, false))return;
if (status == FDB_SECTOR_STORE_UNUSED || status == sector->status.store) {
if (traversal_kv) {
read_sector_info(db, sec_addr, sector, true);
if (FDB_NO_ERR != read_sector_info(db, sec_addr, sector, true))return;
}
/* iterator is interrupted when callback return true */
if (callback && callback(sector, arg1, arg2)) {