On Aug 23, 2024, at 2:46 AM, Petr Vorel pvorel@suse.cz wrote:
Hi Chuck, Neil, all,
On Wed, Aug 14, 2024 at 10:57:21AM +0200, Petr Vorel wrote:
6.9 moved client RPC calls to namespace in "Make nfs stats visible in network NS" patchet.
https://lore.kernel.org/linux-nfs/cover.1708026931.git.josef@toxicpanda.com/
Signed-off-by: Petr Vorel pvorel@suse.cz
Changes v1->v2:
- Point out whole patchset, not just single commit
- Add a comment about the patchset
Hi all,
could you please ack this so that we have fixed mainline?
FYI Some parts has been backported, e.g.: d47151b79e322 ("nfs: expose /proc/net/sunrpc/nfs in net namespaces") to all stable/LTS: 5.4.276, 5.10.217, 5.15.159, 6.1.91, 6.6.31.
But most of that is not yet (but planned to be backported), e.g. 93483ac5fec62 ("nfsd: expose /proc/net/sunrpc/nfsd in net namespaces") see Chuck's patchset for 6.6 https://lore.kernel.org/linux-nfs/20240812223604.32592-1-cel@kernel.org/
Once all kernels up to 5.4 fixed we should update the version.
Kind regards, Petr
testcases/network/nfs/nfsstat01/nfsstat01.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/testcases/network/nfs/nfsstat01/nfsstat01.sh b/testcases/network/nfs/nfsstat01/nfsstat01.sh index c2856eff1f..1beecbec43 100755 --- a/testcases/network/nfs/nfsstat01/nfsstat01.sh +++ b/testcases/network/nfs/nfsstat01/nfsstat01.sh @@ -15,7 +15,14 @@ get_calls() local calls opt
[ "$name" = "rpc" ] && opt="r" || opt="n"
- ! tst_net_use_netns && [ "$nfs_f" != "nfs" ] && type="rhost"
- if tst_net_use_netns; then
- # "Make nfs stats visible in network NS" patchet
- # https://lore.kernel.org/linux-nfs/cover.1708026931.git.josef@toxicpanda.com/
- tst_kvcmp -ge "6.9" && [ "$nfs_f" = "nfs" ] && type="rhost"
Hello Petr-
My concern with this fix is it targets v6.9 specifically, yet we know these fixes will appear in LTS/stable kernels as well.
Great! I see you already fixed up to 5.15. I suppose the code is really backportable to the other still active branches (5.10, 5.4, 4.19).
I plan to work on backporting to v5.10 next week.
I've been asked to look at v5.4, but I'm not sure how difficult that will be because it's missing a lot of NFSD patches. I will look into that in a couple of weeks.
I'm very likely to punt on v4.19, though Oracle's stable backport team might try to tackle it at some point. (pun intended)
We discussed in v1 how to fix tests. Neil suggested to fix the test the way so that it works on all kernels. As I note [1]
- either we give up on checking the new functionality still works (if we
fallback to old behavior) 2) or we need to specify from which kernel we expect new functionality (so far it's 5.15, I suppose it will be older).
I would prefer 2) to have new functionality always tested. Or am I missing something obvious?
I don't quite understand the question.
The "old functionality" of reporting these statistics globally is broken, but we're stuck with it in the older kernels. I guess you might want to confirm that, for a given recent kernel release, the stats are actually per-namespace -- that's what we expect in fixed kernels. Is that what you mean?
Kind regards, Petr
[1] https://lore.kernel.org/linux-nfs/172367387549.6062.7078032983644586462@nobl...
Neil Brown suggested an alternative approach that might not depend on knowing the specific kernel version:
https://lore.kernel.org/linux-nfs/172078283934.15471.13377048166707693692@no...
HTH
- else
- [ "$nfs_f" != "nfs" ] && type="rhost"
- fi
if [ "$type" = "lhost" ]; then calls="$(grep $name /proc/net/rpc/$nfs_f | cut -d' ' -f$field)" -- 2.45.2
-- Chuck Lever