Skip to content

Commit d8f930e

Browse files
committed
Modified CTZ struct type to make space for erased files in the future
In v1, littlefs didn't trust blocks that were been previously erased and conservatively erased any blocks before writing to them. This was a part of the design since the beginning because of the complexity of managing erased blocks when we can lose power at any time. However, we theoretically could keep track of files that have been properly erased by marking them with an "erased bit". A file marked this way could be opened and appended to without needing to COW the last block. The requirement would be that the "erased bit" is cleared during a write, since a power-loss would require that littlefs no longer trust the erased state of the file. This commit just shuffles the struct types around to make space for an "erased bit" in the struct type field to be added in the future. This ordering also makes more sense, since there will likely be more file representations than directory representations on disk.
1 parent 7c70068 commit d8f930e

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

lfs.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,9 @@ enum lfs_type {
104104
LFS_TYPE_HARDTAIL = 0x0c1,
105105
LFS_TYPE_CRC = 0x0f0,
106106

107-
LFS_TYPE_INLINESTRUCT = 0x040,
108-
LFS_TYPE_CTZSTRUCT = 0x041,
109-
LFS_TYPE_DIRSTRUCT = 0x042,
107+
LFS_TYPE_DIRSTRUCT = 0x040,
108+
LFS_TYPE_INLINESTRUCT = 0x041,
109+
LFS_TYPE_CTZSTRUCT = 0x042,
110110

111111
// internal chip sources
112112
LFS_FROM_REGION = 0x000,

0 commit comments

Comments
 (0)