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