Split the fuse FS driver into 2 parts: A top built in the embedded side, with the embedded libC, and a bottom built in the runner side with the host libC. The error returns are converted to match the host libC. Also, before the host FUSE thread, which is asynchronous to Zephyr was calling directly into the Zephyr filesystem code, which resulted quite often if catastrophic failures or corruption of the Zephyr state. This is now fixed by having the FUSE thread queue requests to a Zephyr thread, which will be handled in the embedded side in a coherent way. This adds a slightly noticeable overhead, but the performance is still acceptable. Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no> |
||
|---|---|---|
| .. | ||
| ext2 | ||
| fcb | ||
| nvs | ||
| zms | ||
| CMakeLists.txt | ||
| fat_fs.c | ||
| fs_impl.c | ||
| fs_impl.h | ||
| fs.c | ||
| fuse_fs_access_bottom.c | ||
| fuse_fs_access_bottom.h | ||
| fuse_fs_access.c | ||
| Kconfig | ||
| Kconfig.fatfs | ||
| Kconfig.littlefs | ||
| littlefs_fs.c | ||
| shell.c | ||