Merge pull request #266 from FreddieChopin/revert-bypass-cache
Revert "Don't bypass cache in `lfs_cache_prog()` and `lfs_cache_read()`"
This commit is contained in:
@@ -71,6 +71,21 @@ static int lfs_bd_read(lfs_t *lfs,
|
|||||||
diff = lfs_min(diff, rcache->off-off);
|
diff = lfs_min(diff, rcache->off-off);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (size >= hint && off % lfs->cfg->read_size == 0 &&
|
||||||
|
size >= lfs->cfg->read_size) {
|
||||||
|
// bypass cache?
|
||||||
|
diff = lfs_aligndown(diff, lfs->cfg->read_size);
|
||||||
|
int err = lfs->cfg->read(lfs->cfg, block, off, data, diff);
|
||||||
|
if (err) {
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
data += diff;
|
||||||
|
off += diff;
|
||||||
|
size -= diff;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// load to cache, first condition can no longer fail
|
// load to cache, first condition can no longer fail
|
||||||
LFS_ASSERT(block < lfs->cfg->block_count);
|
LFS_ASSERT(block < lfs->cfg->block_count);
|
||||||
rcache->block = block;
|
rcache->block = block;
|
||||||
|
|||||||
Reference in New Issue
Block a user