Skip to content

Use an Async Command Queue in AHCIPort #3

Open

Description

@FilipToth

We are currently in the process of reworking our filesystem APIs to fully abstract away the specific implementation of how it interacts with the FS on the disk (or even if it does so at all, e.g. ramfs). To make this new API thread-safe, we used Arc Mutexes to hold much of our objects, including a shared weak reference to each directory's corresponding the filesystem. This introduces an edge case where two parallel processes are trying to simultaneously access filesystem APIs, thus causing the mutex to be locked. Instead, we propose an async API for filesystem access as well as reworking the AHCIPort interface to be async, and add to the command queue instead of awaiting immediate AHCI command execution, thus locking the whole AHCI port and preventing other processes from accessing it.

Activity

  1. self-assigned this
    on Jul 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions