NFS: Don't overfill uncached readdir pages
authortrondmy@kernel.org <trondmy@kernel.org>
Wed, 19 Jan 2022 00:25:42 +0000 (19:25 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Feb 2022 11:56:24 +0000 (12:56 +0100)
commit557302faea9c8859ddbbc6cac2f17dcab75f44ab
treea36b9d32ae3a88a90960039e36ee17ee8d685567
parent00181d6c966549b470b09dda8c26445abe62614c
NFS: Don't overfill uncached readdir pages

[ Upstream commit d9c4e39c1f8f8a8ebaccf00b8f22c14364b2d27e ]

If we're doing an uncached read of the directory, then we ideally want
to read only the exact set of entries that will fit in the buffer
supplied by the getdents() system call. So unlike the case where we're
reading into the page cache, let's send only one READDIR call, before
trying to fill up the buffer.

Fixes: 35df59d3ef69 ("NFS: Reduce number of RPC calls when doing uncached readdir")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/nfs/dir.c