On 7 Dec 2016, at 11:30, Christoph Hellwig wrote:
On Wed, Dec 07, 2016 at 08:37:02AM -0500, Benjamin Coddington wrote:
Optimizations to NFS to choose between READDIR and READDIRPLUS don't
expect
concurrent users of nfs_readdir(), and can cause the pagecache to
repeatedly be invalidated unnecessarily for this case. Fix this by
serializing nfs_readdir() on the directory's rwsem.
Just implement .iterate instead of .iterate_shared and you'll get the
serialization for free. While doing that please add a comment on why
it's serialized.
I had it in my head that Al was trying to get rid of .iterate, otherwise
yes, this would be more sensible. I think it'll still benefit from
.iterate_shared in the regular case (the case where we're not trying to
use
READDIRPLUS), so I'll try out Trond's suggestion to fix it up before
chasing
this down.
Ben
--
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