support direct io in open()