[LU-9033] Don't zero timestamps in lock blocking callback Created: 19/Jan/17 Updated: 06/Mar/17 Resolved: 31/Jan/17 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Lustre 2.10.0 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Niu Yawei (Inactive) | Assignee: | Niu Yawei (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||
| Severity: | 3 | ||||
| Rank (Obsolete): | 9223372036854775807 | ||||
| Description |
|
In ll_md_blocking_ast(), we zero all timestamps to avoid these 'leftovers' interfering the new timestamps from MDS, especially when the timestamps are set back by other clients. It's not quite right to change timestamps in this way, because: 1. The pending lock can be matched by getattr, so these zero timestamps can be fetched by application in a small race window. 2. It doesn't make sense to zero the mtime and ctime, because we always use the newest ctime and mtime from MDS when do attributes merge, the 'leftovers' won't interfere new timestamps set by other clients. |
| Comments |
| Comment by Gerrit Updater [ 19/Jan/17 ] |
|
Niu Yawei (yawei.niu@intel.com) uploaded a new patch: https://review.whamcloud.com/24984 |
| Comment by Gerrit Updater [ 31/Jan/17 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/24984/ |
| Comment by Peter Jones [ 31/Jan/17 ] |
|
Landed for 2.10 |