-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
osd: avoid two copy with same src cancel each other
For cache tier, if some head object has two snaps, the two snaps share the same clone object, and the clone object was flush/evicted from cache pool, when a rollback requests and a read snap request to these two snaps at the same time will generate two promote requests to the same clone object, these two promote requests will generate two copy ops with same src, than the second copy op will cancel the first copy op by calling cancel_copy and kick_object_context_blocked, but after calling kick_object_context_blocked, a new promote request corresponding to first copy op will be restarted and generate a new copy op, the new copy op will cancel the second copy op again, so two promote requests will cancel their copy op each other and run into dead loop. Fixes: https://tracker.ceph.com/issues/49409 Signed-off-by: YuanXin <[email protected]>
- Loading branch information
Showing
3 changed files
with
117 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters