]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon,doc: deprecate CephFS min_compat_client 41347/head
authorPatrick Donnelly <pdonnell@redhat.com>
Fri, 14 May 2021 19:19:37 +0000 (12:19 -0700)
committerPatrick Donnelly <pdonnell@redhat.com>
Mon, 17 May 2021 21:08:10 +0000 (14:08 -0700)
Instead admins should specify specific features to require.

Fixes: https://tracker.ceph.com/issues/50819
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
doc/cephfs/administration.rst
src/mon/FSCommands.cc

index f1df4cfb4189f8a4b98f0bcb12d9f41d00419716..9cb8fe9c9eaf7048647b40d189e125ebe9e6ab4c 100644 (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 |
index 007efefe08711d5c825f4f3c705f70436af6cbc0..396ac3118b4ea59462dc0e187acdb848a8b91658 100644 (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);
       };