-
Notifications
You must be signed in to change notification settings - Fork 2k
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
pkg: add FlashDB #17612
pkg: add FlashDB #17612
Conversation
I like this one :) The CI has some comments. |
b403eb9
to
da35dd2
Compare
One question out of curiosity, the GitHub page sys its supports wear balance, do you know how that is done? I was trying to find some information to estimate flash wear out when using the API but didn't find a section on that immediately. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no reason to further hold this back (review stages 1 to 5 are already green by kaspar) i did run the test on native and read this.
Issues raised earlier are addressed.
Please squash and activate CI.
I would like to see the pseudomodules listed in Doxygen.
I think there should be some kind of warning that this will not do wear leveling and advising a solution like littlefs2.
I also would like to see the title of the Doxygen group changed a little for more userfullnes of that.
Please squash these changes right in.
Whaat? I thought that was one of it's selling points. |
maybe i missed something or the wearleveling is done another way than in littlefs2. |
0fe81e6
to
f776978
Compare
9a5f61f
to
0fa2253
Compare
seems like the compactness of the written data (littlefs2 is more spacey when writing to different places) in the mtd threw me off -> it writes to different places (levels the wear) |
I had another look at the writes (native mtd debug)-> only writes are happening no erases (i assume until rollover) There is a huge number of small writes (sometimes to the same location but no erase) the test has a increasing number of writes with every run as the database increases with each run by some tvdb entries. I think this is ok.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Squash and Go
863e9f1
to
753eb68
Compare
Thank you for the review! bors merge |
17612: pkg: add FlashDB r=benpicco a=benpicco 19247: pkg/tinydtls: drop libc_gettimeofday dependency r=benpicco a=benpicco Co-authored-by: Benjamin Valentin <[email protected]> Co-authored-by: Benjamin Valentin <[email protected]>
Build failed (retrying...): |
753eb68
to
674e3ad
Compare
Canceled. |
bors merge |
🕐 Waiting for PR status (GitHub check) to be set, probably by CI. Bors will automatically try to run when all required PR statuses are set. |
bors merge |
Build succeeded: |
Contribution description
This adds a package for FlashDB, an embedded time series and key-value data base.
It can either operate directly on a raw MTD device (
flashdb_mtd
) or use the VFS layer for file based operation.Testing procedure
I added a test that uses the examples provided by FlashDB.
tests/pkg_flashdb
tests/pkg_flashdb_mtd
Issues/PRs references
includes #17341 for convenience
repo of FlashDB