> Not sure about O_DIRECT - I'm inclined to say we should
just
> *always* use O_DIRECT - unless someone can point out a downside
> with it ?
About the only possible downside I can see is that it _might_ be
slightly slower, as it forces libvirt to take all the I/O through
a pipe before playing it out to the file system; which is why we
exposed the option to request O_DIRECT when I first implemented
it.
Another downside - some people like to play with virtual machines
in /tmp, but if /tmp is mounted on tmpfs, then O_DIRECT does not
work. Seeing as how O_DIRECT is not mandated by POSIX, and several
important file systems like tmpfs do not support it, we have to
choose whether to default to something that fails on some file
systems, and/or make our O_DIRECT code gracefully fall back rather
than erroring out when not available.