Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/avati/liboindirect
- Owner: avati
- Created: 2011-06-22T03:38:14.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2011-07-26T16:55:11.000Z (over 13 years ago)
- Last Synced: 2024-07-31T22:57:05.540Z (3 months ago)
- Language: C
- Homepage:
- Size: 93.8 KB
- Stars: 11
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README
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