Hi, Async dirops were enabled in the kernel by default in 2021 [1]. In 2023, a patch was made to revert that default because of MDS crashes [2]:
We have identified an issue in the MDS affecting CephFS users using the kernel driver. The issue was first introduced in the octopus release that added support for clients to perform asynchronous directory operations using the `nowsync` mount option. The issue presents itself as an MDS crash
... but the conclusion was then drawn that `mds_client_delegate_inos_pct` can be used instead to disable async dirops, so the patch didn't go through [3]:
After some digging and talking to Jeff, I figured that it's possible to disable async dirops from the mds side by setting `mds_client_delegate_inos_pct` config to 0: [...] So, I guess this patch is really not required. We can suggest this config update to users and document it for now. We lack tests with this config disabled, so I'll be adding the same before recommending it out. Will keep you posted.
... and in 19.2.0 (2024), `mds_client_delegate_inos_pct` defaults to 0, which disables async dirops [4]:
CephFS: Disallow delegating preallocated inode ranges to clients. Config mds_client_delegate_inos_pct defaults to 0 which disables async dirops in the kclient.
Aforementioned 'MDS crash' is said to be caused by bugs 61009[5] and 58489[6]. Neither have been fixed, and it's not even clear to me how the latter relates to async dirops / preallocated inodes. All in all: what is the state of async dirops? Is it anticipated to be mature in the near future? Is it actively being worked on? If not, what do other users (especially in a shared hosting scenario, with many directories with many small files) use to speed up `rm -rf`s without having every unlink() take a round-trip to the MDS? With kind regards, William David Edwards [1]: https://github.com/torvalds/linux/commit/f7a67b463fb83a4b9b11ceaa8ec4950b8fb... [2]: https://www.spinics.net/lists/ceph-devel/msg58389.html [3]: https://www.spinics.net/lists/ceph-devel/msg58394.html [4]: https://ceph.io/en/news/blog/2024/v19-2-0-squid-released/ [5]: https://tracker.ceph.com/issues/61009 [6]: https://tracker.ceph.com/issues/58489