readdir policies: func.readdir=X where X is seq, cor, or cosr.seq: sequential - works same as before. Iterate over each branch in order configured. cosr: concurrent open sequential read - dispatches requests to open directories to a thread pool and then reads directories sequentially the same way seq does. cor: concurrent open and read - dispatches requests to a thread pool which both opens and reads directories concurrently. thread pool sizes are configurable. cosr:5 would give you 5 threads. see the docs for more info
Add invalidation of gid cache via SIGUSR2 (which also triggers a full memory gc)