]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: fold mds_revoke_cap_timeout into mds_session_timeout 19480/head
authorJeff Layton <jlayton@redhat.com>
Tue, 24 Oct 2017 12:49:27 +0000 (08:49 -0400)
committerNathan Cutler <ncutler@suse.com>
Wed, 13 Dec 2017 12:58:45 +0000 (13:58 +0100)
commit35bb3d4d17db84eac03496d22969b69ee6111b2b
tree328d0608333aaebd37d864a034a2936be94bbcc9
parent9981a1db90984b18431017d348f0a3e7ffb76f61
mds: fold mds_revoke_cap_timeout into mds_session_timeout

Right now, we have two different timeout settings -- one for when the
client is just not responding at all (mds_session_timeout), and one for
when the client is otherwise responding but isn't returning caps in a
timely fashion (mds_cap_revoke_timeout).

The default settings on them are equivalent (60s), but only the
mds_session_timeout is communicated via the mdsmap. The
mds_cap_revoke_timeout is known only to the MDS. Neither timeout results
in anything other than warnings in the current codebase.

There is also a third setting (mds_session_autoclose) that is also
communicated via the MDSmap. Exceeding that value (default of 300s)
could eventually result in the client being blacklisted from the
cluster. The code to implement that doesn't exist yet, however.

The current codebase doesn't do any real sanity checking of these
timeouts, so the potential for admins to get them wrong is rather high.
It's hard to concoct a use-case where we'd want to warn about these
events at different intervals.

Simplify this by just removing the mds_cap_revoke_timeout setting, and
replace its use in the code with the mds_session_timeout. With that, the
client can at least determine when warnings might start showing up in
the MDS' logs.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
(cherry picked from commit 3321cc7b375a5e0ea1da4ab197ab447639ca4db3)
doc/cephfs/health-messages.rst
qa/tasks/cephfs/test_client_limits.py
src/common/legacy_config_opts.h
src/common/options.cc
src/mds/Locker.cc