Eric Blake 519a1c4379 save: add virFileDirectFd wrapper type
O_DIRECT has stringent requirements.  Rather than make lots of changes
at each site that wants to use O_DIRECT, it is easier to offload
the work through a helper process that mirrors the I/O between a
pipe and the actual direct fd, so that the other end of the pipe
no longer has to worry about constraints.

Plus, if the kernel ever gains better posix_fadvise support, then we
only have to touch a single file to let all callers benefit from a
more efficient way to avoid file system caching.

* src/util/virfile.h (virFileDirectFdFlag, virFileDirectFdNew)
(virFileDirectFdClose, virFileDirectFdFree): New prototypes.
* src/util/virdirect.c: Implement new wrapper object.
* src/libvirt_private.syms (virfile.h): Export new symbols.
* cfg.mk (useless_free_options): Add to list.
* po/POTFILES.in: Add new translations.
2011-07-21 16:24:08 -06:00
..
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00
2011-07-04 15:54:36 +08:00