On Tue, 2013-05-07 at 16:18 +0200, Jiri Slaby wrote: > From: NeilBrown <neilb@xxxxxxx> > > While the use of READDIRPLUS is significantly more efficient than > READDIR followed by many GETATTR calls, it is still less efficient > than just READDIR if the attributes are not required. > > We can get a hint as to whether the application requires attr information > by looking at whether any ->getattr calls are made between > ->readdir calls. > If there are any, then getting the attributes seems to be worth while. > > This patch tracks whether there have been recent getattr calls on > children of a directory and uses that information to selectively > disable READDIRPLUS on that directory. > > The first 'readdir' call is always served using READDIRPLUS. > Subsequent calls only use READDIRPLUS if there was a getattr on a child > in the mean time. > > The locking of ->d_parent access needs to be reviewed. > As the bit is simply a hint, it isn't critical that it is set > on the "correct" parent if a rename is happening, but it is > critical that the 'set' doesn't set a bit in something that > isn't even an inode any more. > > Acked-by: NeilBrown <neilb@xxxxxxx> > Signed-off-by: Neil Brown <neilb@xxxxxxx> > Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> > Cc: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> > Cc: linux-nfs@xxxxxxxxxxxxxxx > --- Why am I being Cced on this? You have looked at commit d69ee9b85541a69a1092f5da675bd23256dc62af (NFS: Adapt readdirplus to application usage patterns) which was upstreamed in Linux 3.5, right? -- Trond Myklebust Linux NFS client maintainer NetApp Trond.Myklebust@xxxxxxxxxx www.netapp.com -- 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