]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: check frag bits limit before split dirfrag
authorYan, Zheng <zyan@redhat.com>
Wed, 10 May 2017 01:39:43 +0000 (09:39 +0800)
committerYan, Zheng <zyan@redhat.com>
Thu, 11 May 2017 06:13:24 +0000 (14:13 +0800)
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
src/mds/MDCache.cc

index c0433ec419baec13cae687b6ba439231b895c875..59448528d9dd89402cb76cb7a9dccc5d4cf119fa 100644 (file)
@@ -10844,6 +10844,11 @@ void MDCache::split_dir(CDir *dir, int bits)
     return;
   }
 
+  if (dir->frag.bits() + bits > 24) {
+    dout(7) << __func__ << " frag bits > 24, dropping" << dendl;
+    return;
+  }
+
   MDRequestRef mdr = request_start_internal(CEPH_MDS_OP_FRAGMENTDIR);
   mdr->more()->fragment_base = dir->dirfrag();