2. Modify `read_entry` implementation to generate read requests of all file blocks, then wait for completion.
For best kernel compatibility, use AIO to implement the first version. Reference: https://docs.rs/nix/latest/nix/sys/aio/fn.aio_suspend.html
FileSystem
interface to provide async tasking capability:trait FileSystem { pub type AsyncIoContext: AsyncContext; fn new_async_context() -> AsyncContext; fn read(ctx: &mut AsyncIoContext, offset: u64, size: usize) -> IoResult;
}