fs: add fs dump in ROMFS/LITTLEFS #18001
Open
+104
−0
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.
add read/write double check in ROMFS/LITTLEFS file system
Note: Please adhere to Contributing Guidelines.
Summary
In Littlefs and Romfs, if reading the content of the same address twice is inconsistent, it is a driver side issue rather than a fs issue;
Similarly, if the continuously written content and the read content are inconsistent, it is a driver side issue rather than a fs issue
Impact
Only in Littlefs and Romfs, FS_LITTLEFS_DEBUG/FS_ROMFS_DEBUG is enabled, which will check whether the written and read contents are correct
Testing
enable FS_LITTLEFS_DEBUG and FS_ROMFS_DEBUG
Does not affect the correct reading and writing functions
goldfish-armv7a-ap> df -h
Filesystem Size Used Available Mounted on
binfs 0B 0B 0B /bin
fatfs 510M 140M 370M /data
romfs 729K 729K 0B /etc
hostfs 0B 0B 0B /host
procfs 0B 0B 0B /proc
v9fs 915G 845G 69G /share
romfs 43M 43M 0B /system
littlefs 8000K 512B 7999K /test
tmpfs 12K 2560B 9728B /tmp
goldfish-armv7a-ap> cd /etc
goldfish-armv7a-ap> ls
/etc:
build.prop
dbus-1/
init.d/
media/
mobile-broadband-provider-info/
ssl/
uikit_video_config.json
wifi/
zoneinfo/
goldfish-armv7a-ap> cat build.prop
ro.build.codename=DEV
ro.build.version.release=12.0.0
ro.product.model=Emulator-Vela
ro.product.device=Emulator-Vela
ro.product.name=Emulator-Vela
ro.product.brand=Vela
ro.product.manufacturer=Xiaomi
ro.product.board=Emulator
goldfish-armv7a-ap> cd test
goldfish-armv7a-ap> ls
/test:
.
..
goldfish-armv7a-ap> echo test1 > 1.log
goldfish-armv7a-ap> cat 1.log
test123
The modification of buffer content by littlefs_check previously resulted in an error, which aligns with expectations
uint8_t *buf_test = buffer;
buf_test[0] = 'E';
littlefs_check(drv, block, size, buffer, geo);
[ 0.668051] [ 7] [ ALERT] [ap] dump_assert_info: Current Version: NuttX 12.3.0 7429835fdf6 Jan 19 2026 11:35:04 arm
[ 0.668402] [ 7] [ ALERT] [ap] dump_assert_info: Assertion failed : at file: ../../nuttx/fs/littlefs/lfs_vfs.c:1168 task: nsh_main process: nsh_main 0x63e81d
[ 0.668706] [ 7] [ ALERT] [ap] up_dump_register: R0: 4135d490 R1: 00000490 R2: 00000000 R3: 4135cc94
[ 0.668919] [ 7] [ ALERT] [ap] up_dump_register: R4: 4156b060 R5: 00000000 R6: 012ce060 R7: 4135cc10
[ 0.669192] [ 7] [ ALERT] [ap] up_dump_register: R8: 4135d490 R9: 00000490 R10: 4135210c R11: 00000000
[ 0.669405] [ 7] [ ALERT] [ap] up_dump_register: R12: 413523b0 SP: 41351f28 LR: 006313af PC: 006313af
[ 0.669649] [ 7] [ ALERT] [ap] up_dump_register: CPSR: 200100df
[ 0.669822] [ 7] [ ALERT] [ap] dump_stackinfo: IRQ Stack:
[ 0.669994] [ 7] [ ALERT] [ap] dump_stackinfo: base: 0x41351900
[ 0.670135] [ 7] [ ALERT] [ap] dump_stackinfo: size: 00002048
[ 0.670274] [ 7] [ ALERT] [ap] dump_stackinfo: sp: 0x41351f28