Details
-
Bug
-
Resolution: Fixed
-
Major
-
None
-
None
-
3
-
9223372036854775807
Description
In ofd_create_hdl(), the logic will compare the OST stroed LAST_ID with the MDT given one: if the difference exceeds some threshold, then it will trust the OST LAST_ID directly and reset the MDT side value with the OST one. Otherwise, the orphan OST-objects will be destroyed.
Unfortunately, both the OST stored LAST_ID and MDT given one are 64 bits, but the @diff variable is only 32 bits, and if the OST side value is too larger than the MDT side, then the @diff will overflow. That will misguide the OST to destroy useful OST-objects by wrong.
John L. Hammond (john.hammond@intel.com) merged in patch https://review.whamcloud.com/28230/
Subject:
LU-9753ofd: 64-bits diff variable to avoid overflowProject: fs/lustre-release
Branch: b2_10
Current Patch Set:
Commit: 9903e1efd9bb1ddf0d74513c5036169d4a651bfe