[EGD-5165] Fix emulator crash on lfs and fat
Disk access was not protected by the mutex and race contition
occurs when multiple access was made for lfs and fat.
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
[EGD-5153] Fix errors in generate image script
Script for generate partitions for emulator by mistake
overwrites the littlefs image and fatfs image due to the
overlap fat parition and littlefs partition
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
[EGD-5102] Fix compile on rt1051 platform
It is initial commmit which fix compilation after
vfs. global object removal. It still need implementation
newlib syscalls.
[EGD-5097] Fix minor issues with littlefs fuse
Fix minor issues with littlefs implementation
[EGD-5074] Add native fscore for emulator
This is a first commit when the emulator uses
the new filesystem core.
libiosyscall library read environment variable
IOSYSCALS_REDIRECT_TO_IMAGE
When IOSYSCALS_REDIRECT_TO_IMAGE=1 all syscalls
are redirected to the image. If env is not defined
or set to 0 only paths are translated and redirected
to the native linux syscalls
[EGD-5074] Remove free rtox library
Remove unneeded fat library from the freertos
[EGD-5074] Fix freertos mutex as unique
Add freertos mutex in the unique_ptr for avoid inclusion of the
freertos.h
[EGD-5074] Remove frertos-fat submodule
Remove uneeded fat freertos submodule
[EGD-5074] Add handle types in the vfs_subsystem
Add handle types in the vfs subsystem
[EGD-5074] Add submodule for hashmap
Add submodule for hashmap
[EGD-5074] Add support for dirent
Add support for dirent for new filesystem
[EGD-5074] Fix mutex class
Remove mutex in header
[EGD-5074] Remove old vfs from file indexer
File indexer should be fixed for use new vfs
[EGD-5074] Fix unit test vfs
Remove unit tests vfs for clas
[EGD-5074] Add Posix implementation with new fs
Add posix implementation with new fs core
[EGD-5074] Fix stdio syscalls
Fix all stdio syscalls
[EGD-5074] Fix iosyscalls scan family
Fix iosyscalls scan family
[EGD-5074] Fix native API
Fix native api
Work in progress some minor fixes
[EGD-5074] Fix lib stdio
Fix lib stdio
[EGD-5074] fix lseek return value in fat driver
Fix lseek return value in the fat driver
[EGD-5074] Unit test fix
Unittest fixes
[EGD-5074] Emulator syscalls
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
[EGD-4754] Add automount default filesystems
Default automount and parse partitions according to
their configurations using new vfs core. Currently
old (without lfs) and new (with lfs) part schemes are supported
[EGD-4502] Fix and remove old vfs boot
Remove old vfs bootconfig from the vfs which
will be removed in the later commit
Merge branch 'master' into stable
[EGD-4499] Create drivers for the VFS (#1128)
* GId modules updated
* Remove module
* Gitmodules update
* [EGD-4499] Global module VFS
* [EGD-4499] vfat driver in progress + fsfat
* [EGD-4499] fffat glue to our implementation.
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
* [EGD-4498] Glue logic between ff_fat and disk mgr.
* [EGD-4499] Mount and unmount fat_fs.
* [EGD-4499] Filesystem mount seams to be working
* [EGD-4499] Missing umount volume removal
* [EGD-4499] Code review vol 1
* [EGD-4499] Missing erase element from map
* [EGD-4499] Missing mount umount
* [EGD-4261] Mount and unmount tests
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
* [EGD-4499] Initial filesystem implementation
Iterate over directories are not completed yet
* [EGD-4261] unit test fix
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
* [EGD-4499] Stat vfs for RT1051
* [EGD-4499] Small fix in the seek
* [EGD-4499] Directory handle fix
* [EGD4499] Completed ffat implementation
It is already completed vfat driver for vfs core
but it is not tested yet.
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
* [EGD4499] Code review part #1
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
* [EGD4499] Remove double dynamic allocation of mount point
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
* [EGD4499] Partition out of range fix
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
* [EGD-4499] Handle leak fix
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
* [EGD-4499] VFS vfat completed.
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
* [EGD-4499] File descriptors from 3 according to POSIX std
0,1,2 fds are reserved for stdin,stdout,stderr
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
Merge branch 'master' into stable
[EGD-4382] vfs fixups (#1126)
* initial value for boot config
* run boot config methods after vfs has been marked as initialized
* type-os
* in case .boot.json is broken, re-write it with defaults
[EGD-4498] Virtual Filesystem Core Framework (#1074)
* [EGD-4498] Registering and unregistering VFS
* [EGD-4498] Mount structures added
* [EGD-4498] Mount filesystem completed
* [EGD-4498] Mount / unmount / and find mount impl
* [EGD-4498] Per thread directory TLS
* [EGD-4489] Absolute paths implementation
* [EGD-4498] Git ignore vim
* [EGD-4498] VFS core functions without cwd
* [EGD-4498] Other syscalls
* [EGD-4498] Code review fixes
* [EGD-4498] Code review #2
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
* [EGD-4498] Code review small fixes vol #3
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
[EGD-4512] Prevent vfs crash before init (#1091)
Currently calling any method from class vfs
causes aplication crash when methods are called before
vfs.Init() call. This commit prevent to crash end return failure
instead. The fix is related to any any vfs methods and methods called
through the standard syscall.
It is only the hotfix and it will be removed when new VFS subsystem
will be ready.
Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
[EGD-4262] Disk manager (#1025)
* [EGD-4262] Disk manager API draft
* [EGD-4262] New filesystem master user class
* [EGD-4262] Directory fops
* [EGD-4262] Initial version of disk manager API
* [EGD-4261] Registering and finding block devices.
* [EGD-4262] Disk manager without partition parser
* [EGD-4262] Partition parser intial ver.
* [EGD-4262] Disk read driver for Linux
* [EGD-4262] Disk manager unittests.
This unittests should be improved. Currrently it checks
only minimum functionality. Boundary tests should be added
in the next stage.
Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
[EGD-4344] vfs-utils refactor (#1010)
* [EGD-4344] removed vfs-utils.cpp and moved all the functions
to utils or eventStore
* [EGD-4344] removed vfs-utils.cpp and moved all the functions
to utils or eventStore
* [EGD-4344] moved methods to utils::filesystem
* Update module-utils/Utils.cpp
Co-authored-by: Piotr Tanski <piotr.tanski@mudita.com>
* Update module-utils/Utils.cpp
Co-authored-by: Piotr Tanski <piotr.tanski@mudita.com>
* Update module-utils/Utils.cpp
Co-authored-by: Piotr Tanski <piotr.tanski@mudita.com>
* [EGD-4344] test fixes, linux fixes, GUI fixes
* [EGD-4344] rebase fixes
* [EGD-4344] bugfixes for rt1051 and mutex support in EventStore
Co-authored-by: Piotr Tanski <piotr.tanski@mudita.com>
[EGD-4264] directory reordering (#1001)
* [EGD-4264] VFS directory reordering
Currently VFS uses flat directory structure
for disc manager I need more sofisticated directory layout
* [EGD-4264] Remove redundant -Wno
* [EGD-4261] New purefs API
* [EGD-4264] Unittest fixes
* [EGD-4264] Directory relativity
* [EGD-4264] Relative path fixes
* [EGD-4264] Fix RT1051 compile errors
Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
[EGD-4366] Global data cleanup. (#999)
[EGD-4029] File indexer notifier (#862)
* [EGD-4029] Initial version of file notifier in the VFS
* [EGD-4029] File indexer notifier in the VFS
* [EGD-4029] Minor syntax fixes in code
Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
[EGD-4075] Use FATFS in the Linux builds (#843)
* [EGD-4075] Use FAT fs in the emulator
Add script for genrate base phone image
* [EGD-4075] Use FreeRTOS-FAT in emulator initial commit
* [EGD-4075] Thread local storage fix
Fixing thread local storage when running on the
Linux platform in the test mode
* [EGD-4075] Improve image generation
Improve image generation script on the linux platform
* [EGD-4075] Fix all test with FAT fs image
Fix all tests with fatfs image
* [EGD-4075] Fix calculator utility test
* [EGD-4075] Image dependencies fix
* Remove uneeded comments
* Missing headers in CR
* [EGD-4075] Fixed whitespaces
Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>