Free space of overwritten files in LittleFS#7434
Merged
earlephilhower merged 3 commits intoesp8266:masterfrom Jul 8, 2020
Merged
Free space of overwritten files in LittleFS#7434earlephilhower merged 3 commits intoesp8266:masterfrom
earlephilhower merged 3 commits intoesp8266:masterfrom
Conversation
Fixes esp8266#7426 LittleFS doesn't update the on-flash data structures when a file is reopened as O_TRUNC until the file is closed. This means the space of the original, inaccessible file cannot be used, causing OOS errors in cases when a large file is being overwritten. Explicitly call the file sync operation to update the on-flash metadata as soon as a file is opened. For normal files it's a no-op, but for O_TRUNC modes it will free the space, allowing full overwrite of large files.
lorol
added a commit
to lorol/LITTLEFS
that referenced
this pull request
Nov 15, 2020
Following: Sync file upon opening to free storage when overwriting a file joltwallet/esp_littlefs#22 Fixes out-of-storage issues when overwriting a file by syncing-on-open. Not that this effectively immediately deletes the file being overwritten. Based on: esp8266/Arduino#7434
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #7426
LittleFS doesn't update the on-flash data structures when a file is
reopened as O_TRUNC until the file is closed. This means the space of
the original, inaccessible file cannot be used, causing OOS errors in
cases when a large file is being overwritten.
Explicitly call the file sync operation to update the on-flash metadata
as soon as a file is opened. For normal files it's a no-op, but for
O_TRUNC modes it will free the space, allowing full overwrite of large
files.