I don't see anything in there that would require write access. The most obvious fix would be to support FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE,
I don't understand, how do you propose to support that flag while still mapping READONLY to ~0222?
Ah, never mind, I made assumptions about what this flag does. That would work for Cygwin. I don't like the idea of leaving our code broken in this way otherwise, but...