]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: blocklist clients with "bloated" session metadata
authorVenky Shankar <vshankar@redhat.com>
Fri, 11 Aug 2023 08:36:52 +0000 (04:36 -0400)
committerVenky Shankar <vshankar@redhat.com>
Mon, 9 Oct 2023 13:14:57 +0000 (18:44 +0530)
commite33fd5c50f843c23f904102f3b2e8969cd648f86
tree99593959cf8147027572c00cc79f24a65590cbf0
parent397de1b00315bb75e0223a151a92f7620830cd2a
mds: blocklist clients with "bloated" session metadata

Buggy clients (or maybe a MDS bug) causes a huge buildup of
`completed_requests` metadata in its session information.
This could cause the MDS to go read-only when its flushing
session metadata to the journal since the bloated metadata
causes the ODSOp payload to exceed the maximum write size.

Blocklist such clients so as to allow the MDS to continue
servicing requests.

Fixes: http://tracker.ceph.com/issues/61947
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit bc6814d72a9fbec9c41ed75aee2314666cfca34b)

 Conflicts:
src/common/options/mds.yaml.in
src/mds/MDSRank.cc

Straight-forward conflict is mds.yaml.in due to missing configs in
reef and likewise in MDSRank.cc
src/common/options/mds.yaml.in
src/mds/MDSRank.cc
src/mds/SessionMap.cc
src/mds/SessionMap.h