Whamcloud - gitweb
LU-17217 obd: reserve server-side connection policy bits 93/52793/2
authorTimothy Day <timday@amazon.com>
Wed, 18 Oct 2023 17:00:39 +0000 (17:00 +0000)
committerOleg Drokin <green@whamcloud.com>
Mon, 4 Mar 2024 20:02:47 +0000 (20:02 +0000)
commit55a65ed8853ba73f1f9de297e9b6e15a6f37743a
tree96e17d9d764c407a42a4ad3bbe6ef2fae1d21f8e
parenta454c9efd87360c3ef4f9c9a3644b6fa3282a390
LU-17217 obd: reserve server-side connection policy bits

Reserve bits for new mechanism enabling server to refuse
client connections based on arbitrary criterion that Lustre
admins can define via policies.

The policies envisioned currently are:
ALLOW (allow connection to procede as normal)
WARN (generate a warning on the client-side)
SOFT_BLOCK (block mounting unless client overrides)
HARD_BLOCK (block mounting entirely)

In order to SOFT_BLOCK a client, servers need to be able to
differentiate between clients that support scp and those that
don't scp. Older clients would not have the mechanism to
override a server-side SOFT_BLOCK, so they would HARD_BLOCK
instead.

We also need a bitmask for the client/server to communciate
policy opinions (i.e. don't soft-block me).

Therefore, this patch reserves:
1) OBD_CONNECT2_CONN_POLICY
2) 8 bits of obd_connect_data

It also explicitly defines the use of some of the bits
via an enum.

Test-Parameters: trivial
Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: If717045728e516eece7c2d812f8ee6e7ebba9497
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52793
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/uapi/linux/lustre/lustre_idl.h
lustre/obdclass/lprocfs_status.c
lustre/ptlrpc/wiretest.c
lustre/utils/wirecheck.c
lustre/utils/wiretest.c