If you preallocate and O_DIRECT, haven't you basically soaked up most of the benefit of skipping the filesystem?