mon,doc: deprecate CephFS min_compat_client

Instead admins should specify specific features to require.

Fixes: https://tracker.ceph.com/issues/50819
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
This commit is contained in:
Patrick Donnelly 2021-05-14 12:19:37 -07:00
parent 5180c39db5
commit d0e5a2bfac
No known key found for this signature in database
GPG Key ID: 3A2A7E25BEA8AADB
2 changed files with 13 additions and 23 deletions

View File

@ -222,30 +222,15 @@ does not change a MDS; it manipulates the file system rank which has been
marked damaged.
Minimum Client Version
----------------------
Required Client Features
------------------------
It is sometimes desirable to set the minimum version of Ceph that a client must be
running to connect to a CephFS cluster. Older clients may sometimes still be
running with bugs that can cause locking issues between clients (due to
capability release). CephFS provides a mechanism to set the minimum
client version:
It is sometimes desirable to set features that clients must support to talk to
CephFS. Clients without those features may disrupt other clients or behave in
surprising ways. Or, you may want to require newer features to prevent older
and possibly buggy clients from connecting.
::
fs set <fs name> min_compat_client <release>
For example, to only allow Nautilus clients, use:
::
fs set cephfs min_compat_client nautilus
Clients running an older version will be automatically evicted.
Enforcing minimum version of CephFS client is achieved by setting required
client features. Commands to manipulate required client features of a file
system:
Commands to manipulate required client features of a file system:
::
@ -258,8 +243,9 @@ To list all CephFS features
fs feature ls
Clients that are missing newly added features will be evicted automatically.
CephFS features and first release they came out.
Here are the current CephFS features and first release they came out:
+------------------+--------------+-----------------+
| Feature | Ceph release | Upstream Kernel |

View File

@ -642,6 +642,10 @@ public:
ss << "version " << val << " is not recognized";
return -EINVAL;
}
ss << "WARNING: setting min_compat_client is deprecated"
" and may not do what you want.\n"
"The oldest release to set is octopus.\n"
"Please migrate to `ceph fs required_client_features ...`.";
auto f = [vno](auto&& fs) {
fs->mds_map.set_min_compat_client(vno);
};