Lines Matching defs:rcache

31 static inline void lfs_cache_drop(lfs_t *lfs, lfs_cache_t *rcache) {
35 rcache->block = LFS_BLOCK_NULL;
45 const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_size_t hint,
74 if (block == rcache->block &&
75 off < rcache->off + rcache->size) {
76 if (off >= rcache->off) {
77 // is already in rcache?
78 diff = lfs_min(diff, rcache->size - (off-rcache->off));
79 memcpy(data, &rcache->buffer[off-rcache->off], diff);
87 // rcache takes priority
88 diff = lfs_min(diff, rcache->off-off);
108 rcache->block = block;
109 rcache->off = lfs_aligndown(off, lfs->cfg->read_size);
110 rcache->size = lfs_min(
114 - rcache->off,
116 int err = lfs->cfg->read(lfs->cfg, rcache->block,
117 rcache->off, rcache->buffer, rcache->size);
128 const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_size_t hint,
139 pcache, rcache, hint-i,
155 const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_size_t hint,
163 pcache, rcache, hint-i,
177 lfs_cache_t *pcache, lfs_cache_t *rcache, bool validate) {
190 lfs_cache_drop(lfs, rcache);
192 NULL, rcache, diff,
212 lfs_cache_t *pcache, lfs_cache_t *rcache, bool validate) {
213 lfs_cache_drop(lfs, rcache);
215 int err = lfs_bd_flush(lfs, pcache, rcache, validate);
228 lfs_cache_t *pcache, lfs_cache_t *rcache, bool validate,
251 int err = lfs_bd_flush(lfs, pcache, rcache, validate);
705 NULL, &lfs->rcache, sizeof(ntag),
733 NULL, &lfs->rcache, diff,
756 const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_size_t hint,
784 if (rcache->block == LFS_BLOCK_INLINE &&
785 off < rcache->off + rcache->size) {
786 if (off >= rcache->off) {
787 // is already in rcache?
788 diff = lfs_min(diff, rcache->size - (off-rcache->off));
789 memcpy(data, &rcache->buffer[off-rcache->off], diff);
797 // rcache takes priority
798 diff = lfs_min(diff, rcache->off-off);
802 rcache->block = LFS_BLOCK_INLINE;
803 rcache->off = lfs_aligndown(off, lfs->cfg->read_size);
804 rcache->size = lfs_min(lfs_alignup(off+hint, lfs->cfg->read_size),
807 rcache->off, rcache->buffer, rcache->size);
898 NULL, &lfs->rcache, sizeof(tag),
1092 NULL, &lfs->rcache, sizeof(revs[i]),
1134 NULL, &lfs->rcache, lfs->cfg->block_size,
1163 NULL, &lfs->rcache, lfs->cfg->block_size,
1202 NULL, &lfs->rcache, lfs->cfg->block_size,
1232 NULL, &lfs->rcache, lfs->cfg->block_size,
1243 NULL, &lfs->rcache, lfs->cfg->block_size,
1311 NULL, &lfs->rcache, lfs->cfg->block_size,
1426 NULL, &lfs->rcache, diff,
1556 &lfs->pcache, &lfs->rcache, false,
1598 NULL, &lfs->rcache, dsize-sizeof(tag)-i,
1649 NULL, &lfs->rcache, lfs->cfg->prog_size,
1670 NULL, &lfs->rcache, lfs->cfg->prog_size,
1699 &lfs->pcache, &lfs->rcache, false,
1721 int err = lfs_bd_sync(lfs, &lfs->pcache, &lfs->rcache, false);
1735 NULL, &lfs->rcache, off1+sizeof(uint32_t),
1749 NULL, &lfs->rcache, sizeof(uint32_t),
1779 NULL, &lfs->rcache, sizeof(dir->rev),
2829 const lfs_cache_t *pcache, lfs_cache_t *rcache,
2847 pcache, rcache, sizeof(head),
2864 lfs_cache_t *pcache, lfs_cache_t *rcache,
2899 NULL, rcache, noff-i,
2906 pcache, rcache, true,
2927 err = lfs_bd_prog(lfs, pcache, rcache, true,
2939 NULL, rcache, sizeof(nhead),
2963 const lfs_cache_t *pcache, lfs_cache_t *rcache,
2985 pcache, rcache, count*sizeof(head),
3234 &file->cache, &lfs->rcache, file->off-i,
3242 &lfs->pcache, &lfs->rcache, true,
3305 .cache = lfs->rcache,
3307 lfs_cache_drop(lfs, &lfs->rcache);
3323 // keep our reference to the rcache in sync
3324 if (lfs->rcache.block != LFS_BLOCK_NULL) {
3326 lfs_cache_drop(lfs, &lfs->rcache);
3332 int err = lfs_bd_flush(lfs, &file->cache, &lfs->rcache, true);
3539 int err = lfs_ctz_extend(lfs, &file->cache, &lfs->rcache,
3557 int err = lfs_bd_prog(lfs, &file->cache, &lfs->rcache, true,
3716 // read our data into rcache temporarily
3717 lfs_cache_drop(lfs, &lfs->rcache);
3719 lfs->rcache.buffer, size);
3730 memcpy(file->cache.buffer, lfs->rcache.buffer, size);
4159 lfs->rcache.buffer = lfs->cfg->read_buffer;
4161 lfs->rcache.buffer = lfs_malloc(lfs->cfg->cache_size);
4162 if (!lfs->rcache.buffer) {
4180 lfs_cache_zero(lfs, &lfs->rcache);
4240 lfs_free(lfs->rcache.buffer);
4599 err = lfs_ctz_traverse(lfs, NULL, &lfs->rcache,
4624 int err = lfs_ctz_traverse(lfs, &f->cache, &lfs->rcache,
4632 int err = lfs_ctz_traverse(lfs, &f->cache, &lfs->rcache,
4698 &lfs->pcache, &lfs->rcache, lfs->cfg->block_size,
5179 return lfs_bd_read(lfs, &lfs->pcache, &lfs->rcache, size,
5364 err = lfs_ctz_traverse(lfs, NULL, &lfs->rcache,
5660 NULL, &lfs->rcache, dir2.off,
5667 &lfs->pcache, &lfs->rcache, true,
5674 err = lfs_bd_flush(lfs, &lfs->pcache, &lfs->rcache, true);