Skip to content
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

fs: Remove NFFS support #21793

Merged
merged 13 commits into from
Jan 21, 2020
Merged

Conversation

nvlsianpu
Copy link
Collaborator

@nvlsianpu nvlsianpu commented Jan 9, 2020

NFFS haven't been supported in its upstream since more than a year.
It has serous issues which causes it highly unreliable (see; apache/mynewt-nffs#10 and others).

As Litlefs support is available in the zephyr since while it doesn't make any sense to keep NFFS support as it losted even education value: LitleFS is better substitute.

NFFS is removed "immediately" as zephyr API deprecation process guide stands:

Unstable APIs can be removed without deprecation at any time. Deprecation and removal of APIs will be announced in the “API Changes” section of the release notes.

following projects were switched from NFFS to LittleFS

  • tests/settings/functional/file test-case
  • tests/lib/gui/lvgl test-case
  • tests/subsys/settings/functional/file test-case
  • samples/subsys/mgmt/mcumgr/smp_svr sample

Configuration of samples/subsys/shell/fs sample was truncated by NFFS related records.

tests/subsys/fs/multi-fs test-case was disabled. It will be reworked and restored to CI in another PR: #21973

@zephyrbot zephyrbot added area: native port Host native arch port (native_sim) area: API Changes to public APIs area: Samples Samples area: Tests Issues related to a particular existing or missing test area: Modules labels Jan 9, 2020
@zephyrbot
Copy link
Collaborator

zephyrbot commented Jan 9, 2020

All checks are passing now.

Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages.

settings nffs targeted test were removed.
the file function settings suite was disabled as need some
rework in order to use litlefs.

Signed-off-by: Andrzej Puzdrowski <[email protected]>
Switch to using LittleFS instead of NFFS, which will be removed.

Signed-off-by: Andrzej Puzdrowski <[email protected]>
@nvlsianpu nvlsianpu force-pushed the remove-nffs branch 2 times, most recently from 42823a6 to 74c171f Compare January 14, 2020 17:35
@nvlsianpu nvlsianpu marked this pull request as ready for review January 15, 2020 08:10
doc/releases/release-notes-2.2.rst Outdated Show resolved Hide resolved
Copy link
Collaborator

@lemrey lemrey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something seems off with tests/subsys/fs/multi-fs, could you please double check that you have removed the nffs-related files there? Plus, which other FS will we be testing in that test, now that nffs was removed?

doc/releases/release-notes-2.2.rst Outdated Show resolved Hide resolved
doc/releases/release-notes-2.2.rst Outdated Show resolved Hide resolved
@@ -19,7 +19,7 @@

storage_partition: partition@70000 {
label = "storage";
reg = <0x00070000 0x10000>;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why this change?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without it the storage is too small to run the testsuite.

This patch addapt the sample to using LittleFS as the FS back-end.
After NFFS will be removed this ensures mcumgr FS command functionality.

Signed-off-by: Andrzej Puzdrowski <[email protected]>

smp_svr cleanu
NFFS configuration was removed.
Added working configuration for nRF boards.
Documentation aligned to fact that littlefs is supported.

Signed-off-by: Andrzej Puzdrowski <[email protected]>
Switch to using LittleFS instead of NFFS, which was removed.

Signed-off-by: Andrzej Puzdrowski <[email protected]>
As multi-fs testsuite uses FS and NFFS it must be disabled
as NFFS was removed. Further thin test should be reworked to use
litlefs in place of NFFS.

Signed-off-by: Andrzej Puzdrowski <[email protected]>
NFFS was removed, so it tests need to be removed too.

Signed-off-by: Andrzej Puzdrowski <[email protected]>
NFFS is removed as it has serious bugs (by design) which haven't
been resolved since extended range of time.
One of most serious issues bunch were described here:
apache/mynewt-nffs#10

Since lack of support NFFS upsterem it doesn't make sense to keep
it in zephyr.

Signed-off-by: Andrzej Puzdrowski <[email protected]>
NFFS support repository reference was removed
as unneeded anymore by removal of NFFS support in the codebase.

Signed-off-by: Andrzej Puzdrowski <[email protected]>
Replaced NFFS mentions by LittleFS in all <board>.dts comments
to storage partitions.
Replaced NFFS by LittleFS in a few boards documentation.

Signed-off-by: Andrzej Puzdrowski <[email protected]>
Patch introduce references to LittleFS instead of NFFS where it
was suitable. In other places NFFS mentions were removed

Signed-off-by: Andrzej Puzdrowski <[email protected]>
This patch is for suppress CI Kconfig issues caused
by temporary dead code in this test-suie.

Signed-off-by: Andrzej Puzdrowski <[email protected]>
Add removal record to the incoming release note.

Signed-off-by: Andrzej Puzdrowski <[email protected]>
Copy link
Collaborator Author

@nvlsianpu nvlsianpu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@de-nordic

Inconsistent naming of LittleFS within documentation; varies from littlefs to Littlefs to LittleFS
use LittleFS in whole patch

@carlescufi
Typos were fixed

Something seems off with tests/subsys/fs/multi-fs, could you please double check that you have removed the nffs-related files there? Plus, which other FS will we be testing in that test, now that nffs was removed?

@lemrey
Don't wary about this testsuite: It will be LittleFS - see #21973

@@ -19,7 +19,7 @@

storage_partition: partition@70000 {
label = "storage";
reg = <0x00070000 0x10000>;
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without it the storage is too small to run the testsuite.

@de-nordic de-nordic self-requested a review January 20, 2020 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: API Changes to public APIs area: Boards area: Documentation area: File System area: Modules area: native port Host native arch port (native_sim) area: Samples Samples area: Tests Issues related to a particular existing or missing test
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants