Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
None
-
3
-
9223372036854775807
Description
lnetctl cpt-of-nid uses a userspace implementation of the kernel hash_long() function. But the kernel code has changed since the userspace implementation was created, and these two versions produce different results.
Lustre still works on kernels going back to 3.10. Those kernels have the old hash method, thus it is not sufficient to merely update the userspace hash_long() to the latest kernel version (plus this is still susceptible to future drift). Better solution for cpt-of-nid command is to implement an ioctl/netlink to execute the kernel code and return result to userspace.