Re: [PATCH v2 0/9] Add a tool for using the new sysfs files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Steve,

On Sun, Aug 8, 2021 at 12:30 PM Steve Dickson <steved@xxxxxxxxxx> wrote:
>
> Hey Anna,
>
> On 8/6/21 4:17 PM, schumaker.anna@xxxxxxxxx wrote:
> > From: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx>
> >
> > These patches implement a tool that can be used to read and write the
> > sysfs files, with subcommands! They do need my extra patches to add in
> > srcaddr and dst_port to the xprt_info file. Let me know if I need to
> > resend adding support for kernels both with and without these patches.
> >
> > The following subcommands are implemented:
> >       nfs-sysfs.py rpc-client
> >       nfs-sysfs.py xprt
> >       nfs-sysfs.py xprt set
> >       nfs-sysfs.py xprt-switch
> >       nfs-sysfs.py xprt-switch set
> >
> > So you can print out information about every xprt-switch with:
> >       anna@client ~ % nfs-sysfs xprt-switch
> >       switch 0: num_xprts 1, num_active 1, queue_len 0
> >               xprt 0: local, /var/run/gssproxy.sock [main]
> >       switch 1: num_xprts 1, num_active 1, queue_len 0
> >               xprt 1: local, /var/run/rpcbind.sock [main]
> >       switch 2: num_xprts 1, num_active 1, queue_len 0
> >               xprt 2: tcp, 192.168.111.1 [main]
> >       switch 3: num_xprts 4, num_active 4, queue_len 0
> >               xprt 3: tcp, 192.168.111.188 [main]
> >               xprt 4: tcp, 192.168.111.188
> >               xprt 5: tcp, 192.168.111.188
> >               xprt 6: tcp, 192.168.111.188
> >
> > And information about each xprt:
> >       anna@client ~ % nfs-sysfs xprt
> >       xprt 0: local, /var/run/gssproxy.sock, port 0, state <MAIN,CONNECTED,BOUND>
> >               Source: (einval), port 0, Requests: 2
> >               Congestion: cur 0, win 256, Slots: min 2, max 65536
> >               Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
> >       xprt 1: local, /var/run/rpcbind.sock, port 0, state <MAIN,CONNECTED,BOUND>
> >               Source: (einval), port 0, Requests: 2
> >               Congestion: cur 0, win 256, Slots: min 2, max 65536
> >               Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
> >       xprt 2: tcp, 192.168.111.1, port 2049, state <MAIN,CONNECTED,BOUND>
> >               Source: 192.168.111.222, port 959, Requests: 2
> >               Congestion: cur 0, win 256, Slots: min 2, max 65536
> >               Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
> >       xprt 3: tcp, 192.168.111.188, port 2049, state <MAIN,CONNECTED,BOUND>
> >               Source: 192.168.111.222, port 921, Requests: 2
> >               Congestion: cur 0, win 256, Slots: min 2, max 65536
> >               Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
> >       xprt 4: tcp, 192.168.111.188, port 2049, state <CONNECTED,BOUND>
> >               Source: 192.168.111.222, port 726, Requests: 2
> >               Congestion: cur 0, win 256, Slots: min 2, max 65536
> >               Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
> >       xprt 5: tcp, 192.168.111.188, port 2049, state <CONNECTED,BOUND>
> >               Source: 192.168.111.222, port 671, Requests: 2
> >               Congestion: cur 0, win 256, Slots: min 2, max 65536
> >               Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
> >       xprt 6: tcp, 192.168.111.188, port 2049, state <CONNECTED,BOUND>
> >               Source: 192.168.111.222, port 934, Requests: 2
> >               Congestion: cur 0, win 256, Slots: min 2, max 65536
> >               Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
> >
> > You can use the `set` subcommand to change the dstaddr of individual xprts:
> >       anna@client ~ % sudo nfs-sysfs xprt --id 4
> >       xprt 4: tcp, 192.168.111.188, port 2049, state <CONNECTED,BOUND>
> >               Source: 192.168.111.222, port 726, Requests: 2
> >               Congestion: cur 0, win 256, Slots: min 2, max 65536
> >               Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
> >       anna@client ~ % sudo nfs-sysfs xprt set --id 4 --dstaddr server2.nowheycreamery.com
> >       xprt 4: tcp, 192.168.111.186, port 2049, state <CONNECTED,BOUND>
> >               Source: 192.168.111.222, port 726, Requests: 2
> >               Congestion: cur 0, win 256, Slots: min 2, max 65536
> >               Queues: binding 0, sending 0, pending 0, backlog 0, tasks 0
> >
> > Or for changing the dstaddr of all xprts attached to a switch:
> >       anna@client % ./nfs-sysfs.py xprt-switch --id 3
> >       switch 3: num_xprts 4, num_active 4, queue_len 0
> >               xprt 3: tcp, 192.168.111.188 [main]
> >               xprt 4: tcp, 192.168.111.188
> >               xprt 5: tcp, 192.168.111.188
> >               xprt 6: tcp, 192.168.111.188
> >       anna@client % sudo ./nfs-sysfs.py xprt-switch set --id 4 --dstaddr server2.nowheycreamery.vm
> >       switch 3: num_xprts 4, num_active 4, queue_len 0
> >               xprt 2: tcp, 192.168.111.186 [main]
> >               xprt 3: tcp, 192.168.111.186
> >               xprt 5: tcp, 192.168.111.186
> >               xprt 6: tcp, 192.168.111.186
> >
> >
> > What does everybody think? Is there any thing I should change about the
> > user input or output lines? How about other subcommands that should be
> > added with the initial submission?
> I have not play around with this new tool.. but I will! Looking
> forward to it... But... and I should have mention this in v1
> my apologies.
>
> The rest of the NFS tools do not have have "nfs-" as the
> prefix only an "nfs"... As with nfs-iostat, I'll me more that
> will to take the patch with the '-' char, but I would
> prefer the  man page and the installed script be call nfssysfs,
> just to say with the current naming conventions.

No problem! Changing the name of the tool should be easy enough. I'm
not committed to the name either, so if anybody has a better name in
mind please let me know!


Anna
>
> steved.
>
> >
> > Thanks,
> > Anna
> >
> >
> > Anna Schumaker (9):
> >    nfs-sysfs: Add an nfs-sysfs.py tool
> >    nfs-sysfs.py: Add a command for printing xprt switch information
> >    nfs-sysfs.py: Add a command for printing individual xprts
> >    nfs-sysfs.py: Add a command for printing rpc-client information
> >    nfs-sysfs.py: Add a command for changing xprt dstaddr
> >    nfs-sysfs.py: Add a command for changing xprt-switch dstaddrs
> >    nfs-sysfs.py: Add a command for changing xprt state
> >    nfs-sysfs: Add a man page
> >    nfs-sysfs: Add installation to the Makefile
> >
> >   .gitignore                    |   2 +
> >   configure.ac                  |   1 +
> >   tools/Makefile.am             |   2 +-
> >   tools/nfs-sysfs/Makefile.am   |  20 +++++++
> >   tools/nfs-sysfs/client.py     |  27 +++++++++
> >   tools/nfs-sysfs/nfs-sysfs     |   5 ++
> >   tools/nfs-sysfs/nfs-sysfs.man |  88 +++++++++++++++++++++++++++++
> >   tools/nfs-sysfs/nfs-sysfs.py  |  23 ++++++++
> >   tools/nfs-sysfs/switch.py     |  51 +++++++++++++++++
> >   tools/nfs-sysfs/sysfs.py      |  28 ++++++++++
> >   tools/nfs-sysfs/xprt.py       | 101 ++++++++++++++++++++++++++++++++++
> >   11 files changed, 347 insertions(+), 1 deletion(-)
> >   create mode 100644 tools/nfs-sysfs/Makefile.am
> >   create mode 100644 tools/nfs-sysfs/client.py
> >   create mode 100644 tools/nfs-sysfs/nfs-sysfs
> >   create mode 100644 tools/nfs-sysfs/nfs-sysfs.man
> >   create mode 100755 tools/nfs-sysfs/nfs-sysfs.py
> >   create mode 100644 tools/nfs-sysfs/switch.py
> >   create mode 100644 tools/nfs-sysfs/sysfs.py
> >   create mode 100644 tools/nfs-sysfs/xprt.py
> >
>



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux