update
use writev and buffer for direct IO