Well this whole branch is in the case that getInodeWithLocks was not able to traverse down the entire path, so it stops at some intermediate path component which was read-locked. We wouldn't want getInodeWithLocks to necessarily take a write lock on this intermediate path component, since failing to traverse down all the way is usually a failure.