This is a follow up to the attempt made a while ago. Whist the patch worked, newer kernels have moved from pages to folios, which gave me the motivation to implement the mechanism based on the userspace buffer size patch that Miklos supplied. That patch works as is, but I note there are changes to components (overlayfs and exportfs) that I've got very little experience with, and have not tested specifically here. They do look logical. I've marked Miklos as the Author: here, and added my own Signed-off-by - I hope this is correct. The second patch in the series implements the changes to fuse's readdir in order to utilize the first to enable reading more than one page of dent structures at a time from userspace, I've included a strace from before and after this patch in the commit to illustrate the difference. To get the relevant performance on glusterfs improved (which was mentioned elsewhere in the thread) changes to glusterfs to increase the number of cached dentries is also required (these are pushed to github but not yet merged, because similar to this patch, got stalled before getting to the "ready for merge" phase even though it's operational). Please advise if these two patches looks good (I've only done relatively basic testing now, and it's not running on production systems yet) Kind regards, Jaco