Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/avati/liboindirect

Bypass O_DIRECT open failures
https://github.com/avati/liboindirect

Last synced: 18 days ago
JSON representation

Bypass O_DIRECT open failures

Awesome Lists containing this project

README

        

i. The Problem
--------------

Certain applications require the underlying filesystem to support open() with
O_DIRECT flag. Certain filesystems do not support open() with O_DIRECT. This
piece of code attempts to bring the two together by loading as a preloadable
shared object in the application, detect failures of open with O_DIRECT, and
re-open them without O_DIRECT (and turn on O_SYNC instead - preserving the
data protection guarantees)

ii. Usage
---------

sh$ git clone git://github.com/avati/liboindirect
sh$ cd liboindirect
sh$ ./autogen.sh
sh$ ./configure
sh$ make all
sh$ su -
sh# cp liboindirect.so /lib
sh# echo /lib/liboindirect.so > /etc/ld.so.preload