tavianator/bfs

io_uring

tavianator opened this issue · 2 comments

Once https://lkml.org/lkml/2021/1/23/76 or something like it lands, we can use it to do async openat()/readdir(). This is likely to be a better approach than #46.

It does mean we'll need to do our own readdir() wrapper over getdents(). Looks like I'll be doing #9 (comment) after all.

So io_uring still does not have getdents() support: https://lore.kernel.org/io-uring/YdCyoQNPNcaM9rqD@zeniv-ca.linux.org.uk/

But doing something similar in userspace seems to work well: https://github.com/tavianator/bfs/tree/ioq. Very much a work-in-progress since open FD accounting is still broken and some of bfs is not thread-safe (e.g. lazy statics and use of fork()). Oh and it breaks -s.