[LU-9753] OFD destroy non-orphan OST-object because of overflow Created: 07/Jul/17  Updated: 07/Aug/17  Resolved: 19/Jul/17

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.10.1, Lustre 2.11.0

Type: Bug Priority: Major
Reporter: nasf (Inactive) Assignee: nasf (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Duplicate
Related
Severity: 3
Rank (Obsolete): 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.



 Comments   
Comment by Gerrit Updater [ 07/Jul/17 ]

Fan Yong (fan.yong@intel.com) uploaded a new patch: https://review.whamcloud.com/27975
Subject: LU-9753 ofd: 64-bits diff variable to avoid overflow
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 7e7406048e602d7d1145ed7a77e6a92475322811

Comment by Gerrit Updater [ 19/Jul/17 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/27975/
Subject: LU-9753 ofd: 64-bits diff variable to avoid overflow
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 03bbd4c27471751ada57282fad15e074ae01e9d7

Comment by Gerrit Updater [ 26/Jul/17 ]

Minh Diep (minh.diep@intel.com) uploaded a new patch: https://review.whamcloud.com/28230
Subject: LU-9753 ofd: 64-bits diff variable to avoid overflow
Project: fs/lustre-release
Branch: b2_10
Current Patch Set: 1
Commit: bc01869cf4a41c85aa6b171a54a3fb197bd2ae6f

Comment by Gerrit Updater [ 07/Aug/17 ]

John L. Hammond (john.hammond@intel.com) merged in patch https://review.whamcloud.com/28230/
Subject: LU-9753 ofd: 64-bits diff variable to avoid overflow
Project: fs/lustre-release
Branch: b2_10
Current Patch Set:
Commit: 9903e1efd9bb1ddf0d74513c5036169d4a651bfe

Generated at Sat Feb 10 02:28:56 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.