path is the new entry, in our case is "/foo"
But src is the mount point path, in our case is "/", which isn't child of "/foo"
So, it can't invalidate the cache entry.
HOW TO FIX:
Just reverse the parameters of isParentEntry .
PS:PathLocation#getSourcePath() will return PathLocation#sourcePath, which attached a comment about "Source path in global namespace.". But I think the field indeed denotes the mount point path after I review the code. I think it's confused.