[LU-11047] hold remote object LOOKUP lock in reint operations Created: 23/May/18 Updated: 11/Apr/23 Due: 23/Sep/18 Resolved: 11/Apr/23 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.10.0 |
| Fix Version/s: | Lustre 2.16.0 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Lai Siyao | Assignee: | Lai Siyao |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||
| Severity: | 3 | ||||
| Rank (Obsolete): | 9223372036854775807 | ||||
| Description |
|
Remote object LOOKUP lock is treated differently in reint operations: it's just revoked, not held throughout the reint operation like other locks. This is not correct, and may cause subtle race, besides it may cause Commit-on-Sharing for DNE not working correctly. |
| Comments |
| Comment by Andreas Dilger [ 06/Jun/18 ] |
|
Oleg, Alex, this is probably of interest to you. In particular it will also relate to the WBC client. |
| Comment by Oleg Drokin [ 19/Oct/20 ] |
|
can this be explained in some more details please, like what particular sequence of lock operations do you have in mind? |
| Comment by Lai Siyao [ 20/Oct/20 ] |
|
See mdt_revoke_remote_lookup_lock(), it revokes LOOKUP lock for remote object, but not holds it, however current operation may delete name from namespace. If another client fetches LOOKUP lock before name delete, it will see stale entry on that client. This can be seen in rename or directory layout change. |
| Comment by Gerrit Updater [ 26/Nov/20 ] |
|
Lai Siyao (lai.siyao@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/40764 |
| Comment by Gerrit Updater [ 07/Dec/20 ] |
|
Lai Siyao (lai.siyao@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/40891 |
| Comment by Gerrit Updater [ 30/Mar/22 ] |
|
"Lai Siyao <lai.siyao@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/46949 |
| Comment by Gerrit Updater [ 11/Apr/23 ] |
|
"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/40764/ |
| Comment by Peter Jones [ 11/Apr/23 ] |
|
Landed for 2.16 |