The delay_put_inodes() will be called by the tick() periodically
per second, and when the _unmount() is waiting for the inode_map
to be cleared, if the delay_i_release is empty the _unmount() will
be woke up too frequent that the dump_cache() won't get any chance
to be called.
Fixes: https://tracker.ceph.com/issues/48707
Signed-off-by: Xiubo Li <xiubli@redhat.com>
release.swap(delay_i_release);
}
+ if (release.empty())
+ return;
+
for (auto &[in, cnt] : release)
_put_inode(in, cnt);