-
Notifications
You must be signed in to change notification settings - Fork 13.3k
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
Deprecate SPIFFS #7095
Comments
How well does LittleFS work on really small file systems? For example 64k or 128k filesystem (for 1M nodes) I only tested it for 16M modules as it was working (a lot) better on larger file systems compared to SPIFFS which is somewhat unusable for > 1M filesystems. (SPIFFS is absolutely unusable for 14M due to taking over 2 sec per file access) |
LittleFS now uses spiffs_blocksize in the boards.txt, which for blocksize=4096 when on 256KB or smaller FSes. SPIFFS uses spiffs_pagesize = 256b. So to begin with, you will be able to have significantly fewer individual files. Performance under load, I have no idea (haven't run anything that small). Usable file space should not be dramatically different, though, if those 64K are only holding 2-4 configuration files. It's testable now, just use LittleFS in your app instead of SPIFFS (you'll lose the SPIFFS data in flash, of course). There's no easy way to adjust this down as LittleFS really wants to be able to manage things in the minimum erase size blocks (4K in our case). |
I think SPIFFS also needs at least 2 of those blocks with unallocated pages to work properly. I will make some test builds with LittleFS to see what will happen. |
Another potential gotcha is that LittleFS has poor performance when doing update-in-place on a large file. SPIFFS can do updates in place relatively quickly. |
LittleFS is not (yet) supported on the ESP32. There are people (like me ;)) using the same code for both MCUs. Wouldn't it be logical to deprecate SPIFFS only after LittleFS is supported on the other platform? |
Hmm that's a valid point. ESPEasy is also running on both platforms. |
@Jason2866 @TD-er maintenance on our side for libs that aren't active is a load we're not willing to have.
|
@devyte Project Tasmota does NOT use SPIFFS or LittleFS. |
@Jason2866 sorry, I meant @Jeroen88 😝 |
😰 |
So what's up with esp32 arduino and littlefs? Any news? |
@zekageri , suggest you ask that on the ESP 32 repo. I'm sure they wouldn't mind getting a PR from you for it. :) |
SPIFFS has been a great filesystem, but it has significant problems in many cases (and it's also pretty slow). Development seems to have slowed/stopped on the upstream version, and we're not able to provide support or fix the known issues with it as-is. Deprecate SPIFFS variable. Update all examples to use LittleFS instead of SPIFFS. Also, minor cleanup on very old examples which has obsolete delays waiting for the Serial port to come up, or which were stuck at 9600 baud because of their ancient AVR heritage. Fixes esp8266#7095
* Deprecate SPIFFS, move examples to LittleFS SPIFFS has been a great filesystem, but it has significant problems in many cases (and it's also pretty slow). Development seems to have slowed/stopped on the upstream version, and we're not able to provide support or fix the known issues with it as-is. Deprecate SPIFFS variable. Update all examples to use LittleFS instead of SPIFFS. Also, minor cleanup on very old examples which has obsolete delays waiting for the Serial port to come up, or which were stuck at 9600 baud because of their ancient AVR heritage. Fixes #7095 * Remove leftover debug code * Clean up comments in some examples * Update documentation on SPIFFS deprecation * Fix host tests to avoid deprecation warnings * Fix cut-n-paste error * Restore SpeedTest.ino, adjust to allow custom FSes Co-authored-by: Develo <deveyes@gmail.com>
Basic Infos
Problem Description
SPIFFS needs to be deprecated and eventually pulled out. There are known limitations (e.g.: dir and filename) and issues (fs corruption under certain conditions). Handling of issues at the origin repo is backed up since a long time.
We have LittleFS as alternative already implemented. The repo is actively maintained, and it supports directories.
Migration of apps from SPIFFS to LittleFS should be checked, e.g.: any issues with OTA?
The text was updated successfully, but these errors were encountered: