Yup I think this is a problem everywhere we use getPath. The best solution is probably to make getPath similar to getInode, and have it take read locks as it moves up the tree, then downgrade the root's write lock to a read lock as the last step.