Whamcloud - gitweb
LU-18986 mgs: new target registration protocol 05/59205/4
authorMikhail Pershin <mpershin@whamcloud.com>
Thu, 8 May 2025 09:40:54 +0000 (12:40 +0300)
committerOleg Drokin <green@whamcloud.com>
Thu, 12 Jun 2025 06:32:15 +0000 (06:32 +0000)
commit84118744979594a1a4694797722812b3c6f3ee64
tree4aa59291e3ae8055c4072dde00bd244938bfda8c
parent14b519b52d403ebc283e56fd223177c3c885518f
LU-18986 mgs: new target registration protocol

Patch adds new target registration request format with
enhanced NIDs list handling. The idea is to don't overload
mgs_target_info with extra flags and fields for NID list
description but keep such information in new structure.

NIDs list is arrays of string always and can be send
in varios manners: inline buffer, bulk, compressed,
appended, etc.

It helps also to resolve compatibility issues.

Patch includes:
- new wire structure mgs_target_nidlist
- new possible RPC format with mgs_target_nidlist buffer
- new connect flag OBD_CONNECT_MGS_NIDLIST to replace
  obsoleted OBD_CONNECT_REQPORTAL removed in commit
  1.6.0-159-gd2d56f38da ("make HEAD from b_post_cmd3")
- corresponding swabber and wirecheck

Test-Parameters: testlist=runtests clientversion=EXA6.3.2
Test-Parameters: testlist=runtests serverversion=EXA6.3.2
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: I441de467a530137f76712273b9a5f814fdb562c1
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/59205
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
13 files changed:
lustre/include/lustre_req_layout.h
lustre/include/lustre_swab.h
lustre/include/uapi/linux/lustre/lustre_idl.h
lustre/llite/llite_lib.c
lustre/lod/lod_lov.c
lustre/obdclass/lprocfs_status.c
lustre/obdecho/echo_client.c
lustre/osc/osc_request.c
lustre/ptlrpc/layout.c
lustre/ptlrpc/pack_generic.c
lustre/ptlrpc/wiretest.c
lustre/utils/wirecheck.c
lustre/utils/wiretest.c