]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commit
mds: use regular dispatch for processing beacons
authorPatrick Donnelly <pdonnell@redhat.com>
Tue, 14 May 2024 17:53:09 +0000 (13:53 -0400)
committerPatrick Donnelly <pdonnell@redhat.com>
Thu, 23 May 2024 19:39:02 +0000 (15:39 -0400)
commitf9088bb2cd6d09dc2308f2c491ade55310db200d
tree9d53689c71ce647b89b5ea3b1eda98b4d9a49cff
parent90a77bcebec1b351c9ae5a36ce1e34caf89caa7b
mds: use regular dispatch for processing beacons

Similar to the issue with MClientMetrics, beacons should also not be handled
via fast dispatch because it's necessary to acquire Beacon::mutex. This is a
big no-no as it may block one of the Messenger threads leading to improbable
deadlocks or DoS.

Instead, use the normal dispatch where acquiring locks is okay to do.

Fixes: 7fc04be9332704946ba6f0e95cfcd1afc34fc0fe
See-also: linux.git/f7c2f4f6ce16fb58f7d024f3e1b40023c4b43ff9
Fixes: https://tracker.ceph.com/issues/65658
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 7fc2a65326eeeef4938a9f73be05b6f66358405f)
src/mds/Beacon.cc
src/mds/Beacon.h