Hello, I am trying to improve the performance of readdir() requests. I have a client application that issues a lot of readdir() requests, and a FUSE filesystem that makes extensive use of kernel caching for inode entry attributes because retrieving the attributes from the backend is relatively expensive. Unfortunately, it seems to me that currently there is no way to avoid having to retrieve the attributes from the backend for every entry that is returned by readdir - on every call: If I am using readdirplus, I have to include the full attributes even if the kernel already has them cached. If I disable readdirplus, I can return just the entry name and its inode - but I believe because this doesn't result in a lookup count increase of the inode, the kernel can't match this with the existing cached data for the inode (is that correct?) and I'm getting a separate lookup() request for each entry that I've returned. I could implement a readdir cache in the filesystem, but that means I have to take care of cache invalidation and I'm basically wasting memory. Is there a reason why readdirplus() couldn't return just the name and inode, together with a special flag that tells the kernel to "just use the attributes that are already cached"? Best, -Nikolaus -- GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.«