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/f7a67b463fb83a4b9b11ceaa8ec4950b8fb7f902
[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
_______________________________________________
ceph-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to