On Wed, 16 Mar 2011 08:30:20 -0400 <peter.staubach@xxxxxxx> wrote: > Perhaps the use of a heuristic that enables readdirplus only after the application has shown that it is interested in the attributes for each entry in the directory? Thus, if the application does readdir()/stat()/stat()/stat()/readdir()/... then the NFS client could use readdirplus to fill the caches. If the application is just reading the directory and looking at the names, then the client could just use readdir. I think this could work very well. "ls -l" certainly calls 'stat' on each file after each 'getdents' call. So we could arrange that the first readdir call on a directory always uses the 'plus' version, and clears a "seen any getattr calls" flag on the directory. nfs_getattr then sets that flag on the parent subsequent readdir calls only use 'plus' if the flag was set, and clear the flag again. There might be odd issues with multiple processes reading and stating in the same directory, but they probably aren't very serious. I'm might give this idea a try ... but I still think the original switch to always use readdirplus is a regression and should be reverted. Thanks, NeilBrown -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html