optional preadv, pwritev