Whamcloud - gitweb
LU-10391 obdclass: handle large NIDs for mount strings 62/50362/17
authorJames Simmons <jsimmons@infradead.org>
Thu, 3 Aug 2023 20:57:02 +0000 (16:57 -0400)
committerOleg Drokin <green@whamcloud.com>
Thu, 24 Aug 2023 04:32:05 +0000 (04:32 +0000)
commit101f6e84889a9b48238ca320557101058d935fb0
tree117869d5cd22513f7e4f9dce367491c4e9e0cebe
parent2e025641ef087f159ca000ff3c4acb3ce886b8a3
LU-10391 obdclass: handle large NIDs for mount strings

Mount strings support using ':' as a delimiter but this is also
a part of the some NID strings like IPv6, so rework class_parse_value()
to only look at ':' when it occurs after '@'.

The mount utilities use the function convert_hostnames() to ensure
the mount string containing an NID is valid. This only works for
small size nids so migrate the function to handle large NIDs. This
should allow mounting with IPv6 or other large NID addresses.

In testing the userland  libcfs_ip_str2addr_size() had bugs that
rendered incorrect NID strings. Fix those issues.

Fixes: b6c702df5d4 ("LU-10391 libcfs: add large-nid string conversion functions.")
Change-Id: Ic9b2a368456ba75ceb5911ac7f75ae00d6123870
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/50362
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Nathaniel Clark <nclark@whamcloud.com>
Reviewed-by: Chris Horn <chris.horn@hpe.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
libcfs/libcfs/util/nidstrings.c
lustre/obdclass/obd_config.c
lustre/utils/mkfs_lustre.c
lustre/utils/mount_lustre.c
lustre/utils/mount_utils.c
lustre/utils/mount_utils.h