Lines Matching refs:rcache
15 static inline void lfs_cache_drop(lfs_t *lfs, lfs_cache_t *rcache) { in lfs_cache_drop() argument
19 rcache->block = LFS_BLOCK_NULL; in lfs_cache_drop()
29 const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_size_t hint, in lfs_bd_read() argument
58 if (block == rcache->block && in lfs_bd_read()
59 off < rcache->off + rcache->size) { in lfs_bd_read()
60 if (off >= rcache->off) { in lfs_bd_read()
62 diff = lfs_min(diff, rcache->size - (off-rcache->off)); in lfs_bd_read()
63 memcpy(data, &rcache->buffer[off-rcache->off], diff); in lfs_bd_read()
72 diff = lfs_min(diff, rcache->off-off); in lfs_bd_read()
92 rcache->block = block; in lfs_bd_read()
93 rcache->off = lfs_aligndown(off, lfs->cfg->read_size); in lfs_bd_read()
94 rcache->size = lfs_min( in lfs_bd_read()
98 - rcache->off, in lfs_bd_read()
100 int err = lfs->cfg->read(lfs->cfg, rcache->block, in lfs_bd_read()
101 rcache->off, rcache->buffer, rcache->size); in lfs_bd_read()
118 const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_size_t hint, in lfs_bd_cmp() argument
129 pcache, rcache, hint-i, in lfs_bd_cmp()
146 lfs_cache_t *pcache, lfs_cache_t *rcache, bool validate) { in lfs_bd_flush() argument
159 lfs_cache_drop(lfs, rcache); in lfs_bd_flush()
161 NULL, rcache, diff, in lfs_bd_flush()
181 lfs_cache_t *pcache, lfs_cache_t *rcache, bool validate) { in lfs_bd_sync() argument
182 lfs_cache_drop(lfs, rcache); in lfs_bd_sync()
184 int err = lfs_bd_flush(lfs, pcache, rcache, validate); in lfs_bd_sync()
197 lfs_cache_t *pcache, lfs_cache_t *rcache, bool validate, in lfs_bd_prog() argument
220 int err = lfs_bd_flush(lfs, pcache, rcache, validate); in lfs_bd_prog()
602 NULL, &lfs->rcache, sizeof(ntag), in lfs_dir_getslice()
630 NULL, &lfs->rcache, diff, in lfs_dir_getslice()
653 const lfs_cache_t *pcache, lfs_cache_t *rcache, lfs_size_t hint, in lfs_dir_getread() argument
681 if (rcache->block == LFS_BLOCK_INLINE && in lfs_dir_getread()
682 off < rcache->off + rcache->size) { in lfs_dir_getread()
683 if (off >= rcache->off) { in lfs_dir_getread()
685 diff = lfs_min(diff, rcache->size - (off-rcache->off)); in lfs_dir_getread()
686 memcpy(data, &rcache->buffer[off-rcache->off], diff); in lfs_dir_getread()
695 diff = lfs_min(diff, rcache->off-off); in lfs_dir_getread()
699 rcache->block = LFS_BLOCK_INLINE; in lfs_dir_getread()
700 rcache->off = lfs_aligndown(off, lfs->cfg->read_size); in lfs_dir_getread()
701 rcache->size = lfs_min(lfs_alignup(off+hint, lfs->cfg->read_size), in lfs_dir_getread()
704 rcache->off, rcache->buffer, rcache->size); in lfs_dir_getread()
758 NULL, &lfs->rcache, sizeof(tag), in lfs_dir_traverse()
858 NULL, &lfs->rcache, sizeof(revs[i]), in lfs_dir_fetchmatch()
895 NULL, &lfs->rcache, lfs->cfg->block_size, in lfs_dir_fetchmatch()
925 NULL, &lfs->rcache, lfs->cfg->block_size, in lfs_dir_fetchmatch()
968 NULL, &lfs->rcache, lfs->cfg->block_size, in lfs_dir_fetchmatch()
1001 NULL, &lfs->rcache, lfs->cfg->block_size, in lfs_dir_fetchmatch()
1151 NULL, &lfs->rcache, diff, in lfs_dir_find_match()
1281 &lfs->pcache, &lfs->rcache, false, in lfs_dir_commitprog()
1323 NULL, &lfs->rcache, dsize-sizeof(tag)-i, in lfs_dir_commitattr()
1363 NULL, &lfs->rcache, sizeof(tag), in lfs_dir_commitcrc()
1379 &lfs->pcache, &lfs->rcache, false, in lfs_dir_commitcrc()
1397 int err = lfs_bd_sync(lfs, &lfs->pcache, &lfs->rcache, false); in lfs_dir_commitcrc()
1417 NULL, &lfs->rcache, noff+sizeof(uint32_t)-i, in lfs_dir_commitcrc()
1459 NULL, &lfs->rcache, sizeof(dir->rev), in lfs_dir_alloc()
2282 const lfs_cache_t *pcache, lfs_cache_t *rcache, in lfs_ctz_find() argument
2300 pcache, rcache, sizeof(head), in lfs_ctz_find()
2317 lfs_cache_t *pcache, lfs_cache_t *rcache, in lfs_ctz_extend() argument
2352 NULL, rcache, noff-i, in lfs_ctz_extend()
2359 pcache, rcache, true, in lfs_ctz_extend()
2380 err = lfs_bd_prog(lfs, pcache, rcache, true, in lfs_ctz_extend()
2392 NULL, rcache, sizeof(nhead), in lfs_ctz_extend()
2416 const lfs_cache_t *pcache, lfs_cache_t *rcache, in lfs_ctz_traverse() argument
2438 pcache, rcache, count*sizeof(head), in lfs_ctz_traverse()
2682 &file->cache, &lfs->rcache, file->off-i,
2690 &lfs->pcache, &lfs->rcache, true,
2753 .cache = lfs->rcache,
2755 lfs_cache_drop(lfs, &lfs->rcache);
2772 if (lfs->rcache.block != LFS_BLOCK_NULL) {
2774 lfs_cache_drop(lfs, &lfs->rcache);
2780 int err = lfs_bd_flush(lfs, &file->cache, &lfs->rcache, true);
3013 int err = lfs_ctz_extend(lfs, &file->cache, &lfs->rcache,
3031 int err = lfs_bd_prog(lfs, &file->cache, &lfs->rcache, true,
3514 lfs->rcache.buffer = lfs->cfg->read_buffer;
3516 lfs->rcache.buffer = lfs_malloc(lfs->cfg->cache_size);
3517 if (!lfs->rcache.buffer) {
3535 lfs_cache_zero(lfs, &lfs->rcache);
3595 lfs_free(lfs->rcache.buffer);
3861 err = lfs_ctz_traverse(lfs, NULL, &lfs->rcache,
3886 int err = lfs_ctz_traverse(lfs, &f->cache, &lfs->rcache,
3894 int err = lfs_ctz_traverse(lfs, &f->cache, &lfs->rcache,
3951 &lfs->pcache, &lfs->rcache, lfs->cfg->block_size,
4347 return lfs_bd_read(lfs, &lfs->pcache, &lfs->rcache, size,
4532 err = lfs_ctz_traverse(lfs, NULL, &lfs->rcache,
4824 NULL, &lfs->rcache, dir2.off,
4831 &lfs->pcache, &lfs->rcache, true,
4838 err = lfs_bd_flush(lfs, &lfs->pcache, &lfs->rcache, true);