Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
-
3
-
9223372036854775807
Description
Problem: MDT-MDT interop check prevents (single MDT) rolling update from 2.12.0.5-based -> 2.12.4.1-based Lustre because the versions are too far away from one another to complete inter-op recovery.
two similar code snippets found in ptlrpc_connect_interpret() and
target_handle_connect():
/*
* We do not support the MDT-MDT interoperations with
* different version MDT because of protocol changes.
*/
if (unlikely(major != LUSTRE_MAJOR ||
minor != LUSTRE_MINOR ||
abs(patch - LUSTRE_PATCH) > 3)) {
LCONSOLE_WARN("%s (%u.%u.%u.%u) refused the connection from different version MDT (%d.%d.%d.%d) %s %s\n",
target->obd_name, LUSTRE_MAJOR,
LUSTRE_MINOR, LUSTRE_PATCH,
LUSTRE_FIX, major, minor, patch,
OBD_OCD_VERSION_FIX(data->ocd_version),
libcfs_nid2str(req->rq_peer.nid),
str);
GOTO(out, rc = -EPROTO);
}
looks the constant of "3" was chosen for some specific protocol changes in the past, but is it still needed ?
Attachments
Issue Links
- is related to
-
LU-17217 Allow server to control/deny client connections
-
- Open
-