]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: ensure export_pin rank < max_mds 40633/head
authorYanhu Cao <gmayyyha@gmail.com>
Wed, 7 Apr 2021 02:13:07 +0000 (10:13 +0800)
committerYanhu Cao <gmayyyha@gmail.com>
Thu, 8 Apr 2021 01:51:29 +0000 (09:51 +0800)
Signed-off-by: Yanhu Cao <gmayyyha@gmail.com>
src/mds/Server.cc

index 4869ff2472c43675c4887aaadd11957a0a6d0831..67b5c0db934e4aabfcd772793e006bf6839f3ed4 100644 (file)
@@ -5704,6 +5704,10 @@ void Server::handle_set_vxattr(MDRequestRef& mdr, CInode *cur)
     try {
       rank = boost::lexical_cast<mds_rank_t>(value);
       if (rank < 0) rank = MDS_RANK_NONE;
+      else if (rank >= MAX_MDS) {
+        respond_to_request(mdr, -CEPHFS_EDOM);
+        return;
+      }
     } catch (boost::bad_lexical_cast const&) {
       dout(10) << "bad vxattr value, unable to parse int for " << name << dendl;
       respond_to_request(mdr, -CEPHFS_EINVAL);