Home
last modified time | relevance | path

Searched full:and (Results 1 – 21 of 21) sorted by relevance

/littlefs-2.7.6/
Dlfs.h48 // info struct. Limited to <= 1022. Stored in superblock and must be
56 // functions lfs_file_seek, lfs_file_size, and lfs_file_tell will return
57 // incorrect values due to using signed integers. Stored in superblock and
127 LFS_O_RDWR = 3, // Open a file as read and write
185 // Size of an erasable block. This does not impact ram consumption and
188 // and program sizes.
194 // Number of erase cycles before littlefs evicts metadata logs and moves
203 // The littlefs needs a read cache, a program cache, and one additional
205 // data and reducing the number of disk accesses. Must be a multiple of
206 // the read and program sizes, and a factor of the block size.
[all …]
DREADME.md15 failures. All file operations have strong copy-on-write guarantees and if
18 **Dynamic wear leveling** - littlefs is designed with flash in mind, and
20 detect bad blocks and work around them.
25 recursion and dynamic memory is limited to configurable buffers that can be
32 of how many times it has been booted and without corrupting the filesystem:
99 device operations and dimensions, tweakable parameters that tradeoff memory
100 usage for performance, and optional static buffers if the user wants to avoid
105 simultaneously. With the `lfs_t` and configuration struct, a user can
108 Once mounted, the littlefs provides a full set of POSIX-like file and
112 All POSIX operations, such as remove and rename, are atomic, even in event
[all …]
DLICENSE.md3 Redistribution and use in source and binary forms, with or without modification,
7 list of conditions and the following disclaimer.
9 list of conditions and the following disclaimer in the documentation and/or
15 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
DDESIGN.md16 filesystem that is resilient to power-loss and flash wear without using
20 than other filesystems, and the design decisions that got us here. For the
26 around 32 KiB of RAM and 512 KiB of ROM. These are often paired with SPI NOR
28 Linux and most existing filesystems, requiring code written specifically with
31 Flash itself is an interesting piece of technology with its own quirks and
33 operations: erasing and programming. Programming (setting bits to 0) is
34 relatively cheap and can be very granular. Erasing however (setting bits to 1),
35 requires an expensive and destructive operation which gives flash its name.
39 systems to lose power at any time. Usually, microcontroller code is simple and
41 for persistent storage, where an unlucky power loss can corrupt the storage and
[all …]
DSPEC.md5 introspection and tooling. This document assumes you are familiar with the
27 block size), littlefs also uses a program block size and read block size.
35 Metadata pairs form the backbone of littlefs and provide a system for
40 are not necessarily sequential and may be anywhere on disk, so a "pointer" to a
105 Metadata blocks support both forward and backward iteration. In order to do
137 tag contains a valid bit used to indicate if the tag and containing commit is
138 valid. This valid bit is the first bit found in the tag and the commit and can
196 So in littlefs, 32-bit tags describe every type of metadata. And this means
197 _every_ type of metadata, including file entries, directory fields, and
218 in big-endian (and is the only thing in littlefs stored in big-endian). This
[all …]
D.travis.yml63 # compile and find the code size with the smallest configuration
90 if: branch = master AND type = push
268 # compile v1 and v2
342 # Update major version branches (vN and vN-prefix)
359 # Create the release and patch version tag (vN.N.N)
377 .context == \"${TRAVIS_BUILD_STAGE_NAME,,}/$NAME\" and
378 .state == \"failure\" and
396 .context == \"${TRAVIS_BUILD_STAGE_NAME,,}/$NAME\" and
397 .state == \"failure\" and
417 .context == \"${TRAVIS_BUILD_STAGE_NAME,,}/$NAME\" and
[all …]
Dlfs_util.h13 // If LFS_CONFIG is used, none of the default utils will be emitted and must be
15 // and modifying as needed.
188 // Find the sequence comparison of a and b, this is the distance
189 // between a and b ignoring overflow
194 // Convert between 32-bit little-endian and native order
218 // Convert between 32-bit big-endian and native order
Dlfs.c219 // pcache must have been flushed, either by programming and in lfs_bd_prog()
459 // Invalidate the lookahead buffer. This is done during mounting and
514 /// Metadata pair and directory operations ///
679 // iterate over directory and attrs in lfs_dir_traverse()
715 // scan for duplicates and update tag based on creates/deletes in lfs_dir_traverse()
804 // now scan tags to fetch the actual dir and find possible match in lfs_dir_fetchmatch()
1111 // skip '.' and root '..' in lfs_dir_find()
1323 // become readonly and match our commit size exactly in lfs_dir_commitcrc()
1487 // cleanup delete, and we cap at half a block to give room in lfs_dir_compact()
1553 // v1 superblock if we relocate root, and invalidating directory in lfs_dir_compact()
[all …]
/littlefs-2.7.6/scripts/
Dtest.py174 if (self.filter is not None and
175 len(self.filter) >= 1 and
178 elif (self.filter is not None and
179 len(self.filter) >= 2 and
182 elif args.get('no_internal', False) and self.in_ is not None:
195 re.sub('(\&\&|\?)', ' and ',
228 if gdb and failure:
270 if m and assert_ is None:
299 return not self.leaky and super().shouldtest(**args)
321 return self.reentrant and super().shouldtest(**args)
[all …]
Dreadmdir.py118 if self.is_('crc') and getattr(self, 'crc', 0xffffffff) != 0xffffffff:
219 if tag in self and self[tag] is tag:
222 # id could have change, I know this is messy and slow
226 if ntag in self and self[ntag] is tag:
257 if (gmask.id != 0 and tag.is_('splice') and
259 if tag.is_('create') and tag.id == gtag.id - gdiff:
289 ''.join(c if c >= ' ' and c <= '~' else '.'
297 ''.join(c if c >= ' ' and c <= '~' else '.'
Dprefix.py3 # This script replaces prefixes of files, and symbols in that file.
Dexplode_asserts.py357 # parse and write out stmt at a time
382 help="Maximum number of characters to display for strcmp and memcmp.")
/littlefs-2.7.6/tests/
Dtest_exhaustion.toml23 // chose name, roughly random seed, and random 2^n size
105 // chose name, roughly random seed, and random 2^n size
196 // chose name, roughly random seed, and random 2^n size
285 // chose name, roughly random seed, and random 2^n size
370 // chose name, roughly random seed, and random 2^n size
435 // skip 0 and 1 as superblock movement is intentionally avoided
Dtest_seek.toml71 [[case]] # simple file seek and write
132 [[case]] # boundary seek and writes
241 [[case]] # inline write and seek
308 [[case]] # file seek and write with power-loss
348 // seek and write using quadratic probing to touch all
Dtest_move.toml149 [[case]] # move file corrupt source and dest
596 [[case]] # move dir corrupt source and dest
857 // create dir and rename for atomicity
1019 // a create and delete simultaneously
1078 // a create and delete simultaneously
1085 // and check that nothing was corrupted again
1170 // a create and delete simultaneously
1235 // a create and delete simultaneously
1242 // and check that nothing was corrupted again
1334 // a create and delete as it overwrites the destination file
[all …]
Dtest_alloc.toml378 // now reverse the "bad block" and try to write the file again until we
410 # Below, I don't like these tests. They're fragile and depend _heavily_
412 # should be removed and replaced with generalized tests.
595 [[case]] # outdated lookahead and split dir test
Dtest_truncate.toml45 [[case]] # truncate and read
96 [[case]] # write, truncate, and read
148 [[case]] # truncate and write
Dtest_orphans.toml42 // this mkdir should both create a dir and deorphan, so size
Dtest_evil.toml143 // make sure id 1 == our file and get our CTZ structure
/littlefs-2.7.6/bd/
Dlfs_testbd.h2 * Testing block device, wraps filebd and rambd while providing a bunch
31 // a readonly disk (erase-noop), and ECC failures (read-error).
Dlfs_testbd.c2 * Testing block device, wraps filebd and rambd while providing a bunch