Doesn't it make sense for createForWrite to get the same treatment
Well, the reason for this JIRA is that checking permissions is super-expensive, since it shells out to ls -ld. But, for createForWrite, we only have to check f.exists() which is only a syscall, and not too expensive.
So, I think we may as well keep the behavior we have for createForWrite.
I found my brain wanting to rewrite the code as follows, feel free to ignore if you think this is less clear.
Hm, I could go either way. Since we already have test-patch results, I'd like to just keep it as is if that's alright.