[LU-6997] migration should enqueue nonblock locks for objects in linkEA Created: 12/Aug/15 Updated: 24/Aug/15 Resolved: 24/Aug/15 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.8.0 |
| Fix Version/s: | Lustre 2.8.0 |
| Type: | Bug | Priority: | Major |
| Reporter: | Di Wang | Assignee: | Di Wang |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Severity: | 3 | ||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||
| Description |
|
During migration, it needs to lock all of parent objects in the linkea of the migrating object, so these parent objects can change the name entry after the migration. But the lock order might conflict with the normal parent-child lock order. So it should use mdt_object_lock_try(), which will enqueue nonblocking locks, i.e. once there are conflicting locks, the migration will return -EBUSY, and the user can retry the migration later. |
| Comments |
| Comment by Gerrit Updater [ 13/Aug/15 ] |
|
wangdi (di.wang@intel.com) uploaded a new patch: http://review.whamcloud.com/15970 |
| Comment by Gerrit Updater [ 24/Aug/15 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/15970/ |
| Comment by Joseph Gmitter (Inactive) [ 24/Aug/15 ] |
|
Patch has landed for 2.8. |