Skip to content

Conversation

@Koichi98
Copy link
Contributor

@Koichi98 Koichi98 commented Jun 17, 2025

Description

Overall summary of the series of PRs implementing AsynFileSystem trait

This series of PRs introduces a filesystem trait which fatfs then implements, enabling the use of an in-memory file system from applications. The filesystem trait is specifically an AsyncFileSystem trait, based on a no_std port of rust-vfs to awkernel. File systems implementing this trait can indirectly leverage various file operations provided by AsyncVfsPath.

Prerequisites for Merging

Before merging this PR, the following related PRs, which contain changes extracted from this one, will be merged:

  • Introduce Arc to fatfs
  • Integrate rust-vfs source code into awkernel
  • Port rust-vfs to no_std and remove unnecessary parts

Outstanding To-Do Items

The following items are directly related to this PR but are not covered by its current changes:

  • Correct time information retrieval in metadata method: Currently, a NullTimeProvider is used during fatfs instance creation, which needs to be addressed to obtain correct time-related information.
  • Implement a wrapper layer with a mount table: Presently, file operations are performed by calling new_in_memory_fatfs on AsyncVfsPath to get an AsyncVfsPath instance representing the root directory. Currently, I'm planning to implement a wrapper layer with a mount table. This will allow users to perform file operations without needing to know the specific file system, as the wrapper will internally return the appropriate AsyncVfsPath for a given file path.

Related links

How was this PR tested?

Notes for reviewers

Koichi98 added 14 commits June 12, 2025 15:40
Signed-off-by: Koichi Imai <[email protected]>
Signed-off-by: Koichi Imai <[email protected]>
Signed-off-by: Koichi Imai <[email protected]>
Signed-off-by: Koichi Imai <[email protected]>
Signed-off-by: Koichi <[email protected]>
Signed-off-by: Koichi <[email protected]>
Signed-off-by: Koichi <[email protected]>
Signed-off-by: Koichi Imai <[email protected]>
Signed-off-by: Koichi Imai <[email protected]>
Koichi98 and others added 6 commits June 26, 2025 11:59
Koichi98 added 2 commits July 3, 2025 13:19
Signed-off-by: Koichi <[email protected]>
Signed-off-by: Koichi <[email protected]>
Base automatically changed from feat/async_vfs_path to main July 3, 2025 07:37
Koichi98 added 9 commits July 3, 2025 18:06
Signed-off-by: Koichi <[email protected]>
Signed-off-by: Koichi <[email protected]>
Signed-off-by: Koichi <[email protected]>
Signed-off-by: Koichi <[email protected]>
Signed-off-by: Koichi Imai <[email protected]>
Signed-off-by: Koichi Imai <[email protected]>
Signed-off-by: Koichi Imai <[email protected]>
Signed-off-by: Koichi Imai <[email protected]>
Signed-off-by: Koichi Imai <[email protected]>
@Koichi98 Koichi98 changed the base branch from main to feat/init_inmemory_fatfs July 4, 2025 10:30
Koichi98 added 2 commits July 7, 2025 21:36
Signed-off-by: Koichi <[email protected]>
Signed-off-by: Koichi <[email protected]>
Base automatically changed from feat/init_inmemory_fatfs to main July 8, 2025 08:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants