From: Petr Vorel <pvorel@suse.cz>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: NeilBrown <neilb@suse.de>, ltp@lists.linux.it
Subject: Re: [LTP] [PATCH 2/2] nfsstat01: Check that RPC stats don't leak between net namespaces
Date: Fri, 30 Aug 2024 22:04:29 +0200 [thread overview]
Message-ID: <20240830200429.GA90470@pevik> (raw)
In-Reply-To: <ZtILLtHSahuwDiZq@tissot.1015granger.net>
Hi all,
> On Fri, Aug 30, 2024 at 04:13:40PM +0200, Martin Doucha wrote:
> > When the NFS server and client run on the same host in different net
> > namespaces, check that RPC calls from the client namespace don't
> > change RPC statistics in the root namespace.
> > Signed-off-by: Martin Doucha <mdoucha@suse.cz>
> > ---
> > I've initially tried to test both NFS and RPC client stats but it appears
> > that NFS client stats are still shared across all namespaces. Only RPC
> > client stats are separate for each net namespace. The kernel patchset[1]
> > which introduced per-NS stats confirms that only RPC stats have been changed.
Yes, only RPC client stats needed to be fixed in LTP test.
Kind regards,
Petr
> I believe that is correct, Josef changed only RPC counters. Which
> counters did you expect also would be containerized, exactly?
> Perhaps this issue should be raised on linux-nfs@vger, it could be
> considered to be another information leak.
> > If NFS client stats should be separate for each namespace as well, let
> > me know and I'll return the second set of NS checks in patch v2.
> > Tested on kernel v5.14 with Neil's backports.
> > [1] https://lore.kernel.org/linux-nfs/cover.1708026931.git.josef@toxicpanda.com/
> > testcases/network/nfs/nfsstat01/nfsstat01.sh | 18 ++++++++++++++++--
> > 1 file changed, 16 insertions(+), 2 deletions(-)
> > diff --git a/testcases/network/nfs/nfsstat01/nfsstat01.sh b/testcases/network/nfs/nfsstat01/nfsstat01.sh
> > index 8d7202cf3..3379c4d46 100755
> > --- a/testcases/network/nfs/nfsstat01/nfsstat01.sh
> > +++ b/testcases/network/nfs/nfsstat01/nfsstat01.sh
> > @@ -22,6 +22,7 @@ get_calls()
> > local name=$1
> > local field=$2
> > local nfs_f=$3
> > + local netns=${4:-rhost}
> > local type="lhost"
> > local calls opt
> > @@ -30,7 +31,8 @@ get_calls()
> > if tst_net_use_netns; then
> > # In netns setup, rhost is the client
> > - [ "$nfs_f" = "nfs" ] && [ $NS_STAT_RHOST -ne 0 ] && type="rhost"
> > + [ "$nfs_f" = "nfs" ] && [ $NS_STAT_RHOST -ne 0 ] && \
> > + type="$netns"
> > else
> > [ "$nfs_f" != "nfs" ] && type="rhost"
> > fi
> > @@ -64,13 +66,14 @@ get_calls()
> > do_test()
> > {
> > local client_calls server_calls new_server_calls new_client_calls
> > - local client_field server_field
> > + local client_field server_field root_calls new_root_calls
> > local client_v=$VERSION server_v=$VERSION
> > tst_res TINFO "checking RPC calls for server/client"
> > server_calls="$(get_calls rpc 2 nfsd)"
> > client_calls="$(get_calls rpc 2 nfs)"
> > + root_calls="$(get_calls rpc 2 nfs lhost)"
> > tst_res TINFO "calls $server_calls/$client_calls"
> > @@ -79,6 +82,7 @@ do_test()
> > new_server_calls="$(get_calls rpc 2 nfsd)"
> > new_client_calls="$(get_calls rpc 2 nfs)"
> > + new_root_calls="$(get_calls rpc 2 nfs lhost)"
> > tst_res TINFO "new calls $new_server_calls/$new_client_calls"
> > if [ "$new_server_calls" -le "$server_calls" ]; then
> > @@ -93,6 +97,16 @@ do_test()
> > tst_res TPASS "client RPC calls increased"
> > fi
> > + if [ $NS_STAT_RHOST -ne 0 ]; then
> > + tst_res TINFO "Root NS client RPC calls: $root_calls => $new_root_calls"
> > +
> > + if [ $root_calls -ne $new_root_calls ]; then
> > + tst_res TFAIL "RPC stats leaked between net namespaces"
> > + else
> > + tst_res TPASS "RPC stats stay within net namespaces"
> > + fi
> > + fi
> > +
> > tst_res TINFO "checking NFS calls for server/client"
> > case $VERSION in
> > 2) client_field=13 server_field=13
> > --
> > 2.46.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
next prev parent reply other threads:[~2024-08-30 20:04 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-30 14:13 [LTP] [PATCH 1/2] Add test for per-NS NFS client statistics Martin Doucha
2024-08-30 14:13 ` [LTP] [PATCH 2/2] nfsstat01: Check that RPC stats don't leak between net namespaces Martin Doucha
2024-08-30 18:10 ` Chuck Lever via ltp
2024-08-30 20:04 ` Petr Vorel [this message]
2024-08-30 20:26 ` Petr Vorel
2024-09-02 11:49 ` Martin Doucha
2024-09-02 18:13 ` Chuck Lever III via ltp
2024-09-03 8:26 ` Martin Doucha
2024-08-30 20:15 ` Petr Vorel
2024-09-02 11:58 ` Martin Doucha
2024-09-02 18:15 ` Petr Vorel
2024-08-30 20:09 ` [LTP] [PATCH 1/2] Add test for per-NS NFS client statistics Petr Vorel
2024-09-02 11:51 ` Martin Doucha
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240830200429.GA90470@pevik \
--to=pvorel@suse.cz \
--cc=chuck.lever@oracle.com \
--cc=ltp@lists.linux.it \
--cc=neilb@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox