From: Yan, Zheng Date: Wed, 10 May 2017 01:39:43 +0000 (+0800) Subject: mds: check frag bits limit before split dirfrag X-Git-Tag: v12.1.0~10^2~28^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=661d17ee66ef4a17b7d567159f8378ba94c8ab2b;p=ceph.git mds: check frag bits limit before split dirfrag Signed-off-by: "Yan, Zheng" --- diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index c0433ec419ba..59448528d9dd 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -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();