Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
None
-
3
-
9223372036854775807
Description
All the file operations have the following locking order - parent,
child. If a lock for a child is returned to the client, the following
operations on this file are done by the child fid.
However, the migrate is an exception - it takes the lease lock first and
takes the PW parent lock next during the MDS_REINT.
At the same time, if there is a parallel racing operation (open) which
has taken a lock on parent (conflicting with the next MDS_REINT) and
is trying to take a lock on child - it is blocked until
the lease cancel comes.
The lease cancel is piggy-backed on the MDS_REINT RPC and is handled
at the end of the operation, trying to take the conflicting parent lock
first - thus a deadlock occurs.
Attachments
Activity
Fix Version/s | New: Lustre 2.13.0 [ 14290 ] | |
Assignee | Original: WC Triage [ wc-triage ] | New: Andriy Skulysh [ askulysh ] |
Resolution | New: Fixed [ 1 ] | |
Status | Original: Open [ 1 ] | New: Resolved [ 5 ] |