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.