Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pacific: mds: drop locks and retry when lock set changes #53243

Merged
merged 1 commit into from Sep 5, 2023

Conversation

batrick
Copy link
Member

@batrick batrick commented Aug 31, 2023

backport tracker: https://tracker.ceph.com/issues/62662


backport of #52522
parent tracker: https://tracker.ceph.com/issues/62052

this backport was staged using ceph-backport.sh version 16.0.0.6848
find the latest version at https://github.com/ceph/ceph/blob/main/src/script/ceph-backport.sh

An optimization was added to avoid an unnecessary gather on the inode
filelock when the client can safely get the file size without also
getting issued the requested caps. However, if a retry of getattr
is necessary, this conditional inclusion of the inode filelock
can cause lock-order violations resulting in deadlock.

So, if we've already acquired some of the inode's locks then we must
drop locks and retry.

Fixes: https://tracker.ceph.com/issues/62052
Fixes: c822b3e
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit b5719ac)
@batrick batrick added this to the pacific milestone Aug 31, 2023
@batrick
Copy link
Member Author

batrick commented Aug 31, 2023

jenkins test api

@batrick
Copy link
Member Author

batrick commented Sep 1, 2023

@batrick batrick merged commit 488b9a1 into ceph:pacific Sep 5, 2023
8 checks passed
@batrick batrick deleted the wip-62662-pacific branch September 5, 2023 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants