Details
-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
None
-
None
-
3
-
9223372036854775807
Description
mdt_reint_migrate() lookups names, then grabs ldlm locks and doesn't recheck names. another operation like unlink can race and modify directories within this lookup-to-locking window. after that mdt_reint_migrate() generates a distributed transaction which fails on a remote node (due to missing already name), but doesn't rollback properly.
Attachments
Issue Links
- is related to
-
LU-17575 Require specific enable flag for lfs migrate -m (directory migration)
-
- Open
-
I think we should be grabbing LDLM locks first or recheck the data once LDLM locks are granted.
rollback can be an option but looks more complicated to me.