mds: wait the linkmerge/migrate to finish after unlink
If one inode has more than one link and after one of its dentries
being unlinked it will be moved to stray directory. Before the
linkmerge/migrate finises if a link request comes it will fail
with -EXDEV.
While in non-multiple link case it's also possible that the clients
could pass one invalidate ino, which is still under unlinking.
Just wait the linkmerge/migrate or purge to finish.
https://tracker.ceph.com/issues/56695
Signed-off-by: Xiubo Li <xiubli@redhat.com>
(cherry picked from commit
48f9a8990b402daa0f0f9109bc4b0087c01b33c6)