Hi, On Mon, Jun 3, 2024 at 5:56 PM Alexander Aring <aahringo@xxxxxxxxxx> wrote: > > There is currently "res_nodeid" and "res_master_nodeid" fields in > "struct dlm_rsb". At some point a developer does not know when to use > which one or forget to update one and they are out of sync. This patch > removes the "res_nodeid" and allows "res_master_nodeid" only. They have > different representation values about their invalid values, the > "res_master_nodeid" seems to be the modern way of represent the actual > master nodeid and actually use the nodeid value when the own nodeid is > the master (on res_nodeid the 0 represented this value). Also the modern > nodeid representation fits into a "unsigned" range as this avoids to > convert negative values over the network. The old value representation > is still part of the DLM networking protocol that's why the conversion > functions dlm_res_nodeid() and dlm_res_master_nodeid() are still > present. On a new major DLM version bump protocol the nodeid representation > should be updated to the modern value representation. These conversion > functions also applies for existing UAPI and the user space still > assumes the old "res_nodeid" value representation. > > The same arguments applies to "lkb_nodeid" and "lkb_master_nodeid" > wheras this is also only a copied value from another lkb related field > "lkb_resource" and it's "res_master_nodeid" value. In this case it > requires more code review because "lkb_resource" is not set sometimes. > > This patch so far makes the code easier to read and understandable > because we don't have several fields with the same meaning in some > structs. In case of the previously "res_nodeid" value, sometimes an > additional check on our_nodeid() is required to set the value to 0 that > represents in this value representation that we are the master node. > > Signed-off-by: Alexander Aring <aahringo@xxxxxxxxxx> __dlm_master_lookup() returns "-1" (the old value representation for invalid nodeid) and it should return 0 for invalid now. Also we forgot dlm_send_rcom_lookup()/receive_rcom_lookup() to update using the conversion functions. - Alex