[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: |
|
||||||||
| 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 |
| Comment by Gerrit Updater [ 19/Jul/17 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/27975/ |
| Comment by Gerrit Updater [ 26/Jul/17 ] |
|
Minh Diep (minh.diep@intel.com) uploaded a new patch: https://review.whamcloud.com/28230 |
| Comment by Gerrit Updater [ 07/Aug/17 ] |
|
John L. Hammond (john.hammond@intel.com) merged in patch https://review.whamcloud.com/28230/ |