ModuleCache issues on Linux (Ubuntu)

Hello everyone!
I've ran into a strange problem using clang-modules on Linux. I have a Linux machine running Ubuntu 18.04.4 LTS.
When I put my ModuleCache on RAM everything is OK
When I put ModuleCache on SSD/HDD, very frequently I'm getting different errors with pcm files, like below:

Can’t say any of this sounds especially familiar to me - cc’d a few folks who might have some context.

I figured out that the problem is in reading PCM files using FileManager.
clang/lib/Basic/FileManager.cpp:271

FileEntry &UFE = UniqueRealFiles[Status.getUniqueID()];

If I remove this cache everything is OK.
Seems like inode is shared between deleted/edited and newly created PCM file.
If it happens FileManager returns a FileEntryRef to an invalid file.

How can I fix this issue? Maybe we need to remove UniqueRealFiles cache
for PCM files, or make it work with this case?

Ping, especially curious to hear from Richard - I thought we speculated about this issue a few years ago, so hopefully he’s got some context.

Ping