Whamcloud - gitweb
LU-8915 lnet: migrate LNet selftest session handling to Netlink 98/43298/24
authorJames Simmons <jsimmons@infradead.org>
Mon, 17 Oct 2022 14:37:46 +0000 (10:37 -0400)
committerOleg Drokin <green@whamcloud.com>
Mon, 14 Nov 2022 08:24:28 +0000 (08:24 +0000)
commit15c82ae3d31969afd866ca825c2f6ab11ae36a8f
tree5a1f8f4c2fcdd3d8d2a7e17b74601855bdf06d50
parent4fe328b39be6188d7e470260943e7b6aba739422
LU-8915 lnet: migrate LNet selftest session handling to Netlink

The currently LNet selftest ioctl interface has a few issues which
can be resolved using Netlink. The first is the current API using
struct list_head is disliked by the Linux VFS maintainers. While
we technically don't need to use the struct list_head directly
its still confusing and passing pointers from userland to kernel
space is also frowned on.

Second issue that is exposed with debug kernels is that ioctl
handling done with the lstcon_ioctl_handler can easily end up
in a might_sleep state.

The new Netlink work is also needed for the IPv6 support. Update
the session handling to work with large NIDs. Internally use
struct lst_session_id which supports large NIDs instead of
struct lst_sid.

Lastly we have been wanting YAMl handling with LNet selftest
(LU-10975) which comes naturally with this work.

Test-Parameters: trivial testlist=lnet-selftest
Change-Id: I6ac56e51c6bfcf651a28388129020249166a7034
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/43298
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Frank Sehr <fsehr@whamcloud.com>
lnet/include/uapi/linux/lnet/lnetst.h
lnet/selftest/conctl.c
lnet/selftest/conrpc.c
lnet/selftest/console.c
lnet/selftest/console.h
lnet/selftest/framework.c
lnet/selftest/selftest.h
lnet/utils/Makefile.am
lnet/utils/lst.c