Home
last modified time | relevance | path

Searched refs:blocks (Results 1 – 13 of 13) sorted by relevance

/littlefs-3.7.0-3.6.0/scripts/
Dreadtree.py22 if set(m.blocks) == set(tail):
24 cycle = m.blocks
30 blocks = {}
35 blocks[id(data[-1])] = block
38 mdir.blocks = tuple(blocks[id(p.data)] for p in mdir.pair)
83 dirtable[frozenset(dir[0].blocks)] = dir
114 blocks = struct.unpack('<II', gstate[4:4+8].ljust(8, b'\xff'))
119 blocks[0], blocks[1], tag.id))
128 mdir.blocks[0], mdir.blocks[1], mdir.rev, mdir.pair[1].rev,
153 mdir.blocks[0], mdir.blocks[1]))
Dtracebd.py347 blocks=None): argument
351 if blocks is None:
352 self.blocks = [Block() for _ in range(width*height)]
354 self.blocks = blocks
362 range_ = range(len(self.blocks))
379 m.floor(start*len(self.blocks)),
380 m.ceil(stop*len(self.blocks)))
384 self.blocks[i] = f(self.blocks[i])
400 blocks=self.blocks.copy(),
423 blocks = []
[all …]
Dreadmdir.py173 def __init__(self, blocks): argument
174 if len(blocks) > 1:
175 self.pair = [MetadataPair([block]) for block in blocks]
187 self.data = blocks[0]
342 blocks = []
348 blocks.append(f.read(args.block_size)
352 mdir = MetadataPair(blocks)
/littlefs-3.7.0-3.6.0/bd/
Dlfs_emubd.c120 bd->blocks = malloc(bd->cfg->erase_count * sizeof(lfs_emubd_block_t*)); in lfs_emubd_create()
121 if (!bd->blocks) { in lfs_emubd_create()
125 memset(bd->blocks, 0, bd->cfg->erase_count * sizeof(lfs_emubd_block_t*)); in lfs_emubd_create()
193 lfs_emubd_decblock(bd->blocks[i]); in lfs_emubd_destroy()
195 free(bd->blocks); in lfs_emubd_destroy()
229 const lfs_emubd_block_t *b = bd->blocks[block]; in lfs_emubd_read()
279 lfs_emubd_block_t *b = lfs_emubd_mutblock(cfg, &bd->blocks[block]); in lfs_emubd_prog()
365 lfs_emubd_block_t *b = lfs_emubd_mutblock(cfg, &bd->blocks[block]); in lfs_emubd_erase()
463 const lfs_emubd_block_t *b = bd->blocks[block]; in lfs_emubd_rawcrc()
563 const lfs_emubd_block_t *b = bd->blocks[block]; in lfs_emubd_wear()
[all …]
Dlfs_emubd.h148 lfs_emubd_block_t **blocks; member
/littlefs-3.7.0-3.6.0/
DDESIGN.md53 Filesystems that don't take wear into account can easily burn through blocks
77 Here storage is divided into blocks, with each file being stored in a
78 collection of blocks. Without modifications, these filesystems are not
79 power-loss resilient, so updating a file is a simple as rewriting the blocks
258 on the filesystem. At the super-block level, littlefs is a CObW tree of blocks
303 Why two blocks? Well, logs work by appending entries to a circular buffer
305 incrementally program new data onto erased blocks, but we need to erase a full
309 We could make our logs larger than two blocks, but the next challenge is how
310 do we store references to these logs? Because the blocks themselves are erased
311 during writes, using a data structure to track these blocks is complicated.
[all …]
DREADME.md19 provides wear leveling over dynamic blocks. Additionally, littlefs can
20 detect bad blocks and work around them.
127 detect corrupt blocks. However, the wear leveling does not depend on the return
147 Both of these data structures are built out of blocks, which are fed by a
DSPEC.md21 evenly sized blocks that are used as the logical unit of storage.
38 As their name suggests, a metadata pair is stored in two blocks, with one block
39 providing a backup during erase cycles in case power is lost. These two blocks
93 1. **Revision count (32-bits)** - Incremented every erase cycle. If both blocks
105 Metadata blocks support both forward and backward iteration. In order to do
374 across a linked-list of metadata pairs rooted on the blocks 0 and 1. The last
436 4. **Block count (32-bits)** - Number of blocks in the filesystem.
/littlefs-3.7.0-3.6.0/tests/
Dtest_exhaustion.toml280 LFS_WARN("completed %d blocks %d cycles",
377 LFS_WARN("completed %d blocks %d cycles",
385 # test that we wear blocks roughly evenly
Dtest_relocations.toml9 // fill up filesystem so only ~16 blocks are left
87 // fill up filesystem so only ~16 blocks are left
Dtest_superblocks.toml265 # mount with blocks fewer than the erase_count
320 # mount with more blocks than the erase_count
Dtest_badblocks.toml1 # bad blocks with block cycles should be tested in test_relocations
Dtest_alloc.toml410 // now fill all but a couple of blocks of the filesystem with data