]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: defer encoding and storing the CDir dentries
authorXiubo Li <xiubli@redhat.com>
Mon, 31 Aug 2020 07:50:36 +0000 (03:50 -0400)
committerXiubo Li <xiubli@redhat.com>
Thu, 24 Sep 2020 08:53:18 +0000 (16:53 +0800)
commit0ec5f3a84aa29ec422e920fb5dc989ed90897e6b
tree19d6a6612def0da94e54e66cb59e236c1a3435ac
parent9eba6f4bd0ae7ffcf91e32275073654637d176e2
mds: defer encoding and storing the CDir dentries

When encoding the dentries infomation to remove or update, it may
take a bit longer time. If we hold the mds_lock or other locks, it
may cause other threads to idle wait.

This will queue the encoding and storing work in the mds finisher
to get rid of the locks holded.

Fixes: https://tracker.ceph.com/issues/47148
Signed-off-by: Xiubo Li <xiubli@redhat.com>
src/mds/CDir.cc
src/mds/CDir.h