direct io manipulation or with mapping (revised)