On Thu, Feb 22, 2024 at 08:37:24PM +0000, Matthew Wilcox (Oracle) wrote: > Rosebush is a resizing hash table. See > Docuemntation/core-api/rosebush.rst for details. Interesting... A few obvious questions wrt dcache: * how do the locks that stuff nest wrt ->d_lock? Inside? * same for rename_lock (on rename dentries change names/parents/hash values). * we would be really forced to maintain DCACHE_UNHASHED in ->d_flags; it's not impossible to do, but will take care (protection of ->d_flags has several dark corners). * the cost of d_drop() goes up. Might or might not get painful. * if the bucket locks nest inside ->d_lock, we'd better look out for the latter getting held for longer. Might get unpleasant.