Skip to content

mnaser/liboindirect

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Bypass O_DIRECT open failures

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 97.5%
  • Shell 2.5%