-
-
Notifications
You must be signed in to change notification settings - Fork 345
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Storage, IFS and LittleFS improvements #2487
Merged
Merged
Conversation
This file contains 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
Taken from IFS test application
Naming borrowed from std::filesystem. Prefer to avoid `mkdir` in global namespace to avoid possible conflicts with C library.
mikee47
force-pushed
the
feature/ifs-improvements
branch
from
February 9, 2022 16:17
f77cbf5
to
103e687
Compare
- Add fsbuild `--nominify` option, and FSBUILD_OPTIONS build variable - Fix assertion failure using named root directory for ArchiveStream - Fix problem archiving directory which is a mount point - Fix host `settime`, sets timespec incorrectly - Support host filesystem rooted to specified directory - Move debug helper code into separate unit - Add `mountArchive` helper function, and global function `fileMountArchive()` - Have test build for all architectures - Add FileCopier
- Allow inline config definitions - Move code from fscopy into new IFS FileCopier class - Fix `fstat` call failing to set directory attribute
mikee47
force-pushed
the
feature/ifs-improvements
branch
from
February 10, 2022 10:06
103e687
to
e8394ee
Compare
Check for duplicate directory names and throw error Mountpoints can be in subdirectories, all intermediate directories are createds
mikee47
force-pushed
the
feature/ifs-improvements
branch
from
February 10, 2022 11:59
67e4578
to
254af2b
Compare
Check for .gz files clutters up debug
@mikee47 Ready with this PR? |
@slaff Yes, all done thanks. |
slaff
pushed a commit
that referenced
this pull request
Feb 15, 2022
This PR fixes a few problems related to handling of file/directory Access Control entries. **IFS** - Fix FileCopier class not copying directory attributes - In filesystem builder, allow minifcation to fail, but print warning (to support e.g. JSON template files) **LittleFS** - Fix `readdir()` not setting default ACL - Translate 'NOENT' lfs error code into 'NotFound' IFS error - Fix missing directory attribute (imperfect fix in #2487) Also remove unused FileStream method. Opening on directory handle removed in #2308.
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.
This PR fixes a few bugs and improves support for filesystem archiving and copying.
A couple of issues have been fixed with the
ArchiveStream
class, used to generates archive files.These files can be mounted as FWFS partitions for access.
The LittleFS
fscopy
tool is used to generate LittleFS images from a source FWFS image.The code has been extracted into a new general-use class
FileCopier
.This can be used to restore directory trees with attibutes.
Storage
Add
createDirectory
andcreateDirectories
functionsNaming borrowed from std::filesystem.
Prefer to avoid
mkdir
in global namespace to avoid possible conflicts with C library.Note that a regular
fileRemove
call can be used to delete a directory, which must be empty.Change FileStream open error to debug-only
Check for .gz files clutters up debug
IFS
--nominify
option, and FSBUILD_OPTIONS build variablesettime
, sets timespec incorrectlymountArchive
helper function, and global functionfileMountArchive()
LittleFS
fstat
call failing to set directory attribute