Skip to content

mariuszbarczak/ocf

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open CAS Framework

Open CAS Framwework (OCF) is high performance block storage caching meta-library written in C. It's entirely platform and system independent, accessing system API through user provided environment wrappers layer. OCF tightly integrates with the rest of software stack, providing flawless, high performance, low latency caching utility.

In this readme:

Documentation

Doxygen API documentation is available here.
More documentation, tutorial and examples will be available soon.

Source Code

Source code is available in the official OCF GitHub repository:

git clone https://github.com/open-cas/ocf
cd ocf

Deployment

OCF doesn't compile as separate library. It's designed to be included into another software. For this purpose OCF Makefile provides two useful targets for deploying OCF source into target directories. Assuming OCFDIR is ocf directory, and SRCDIR and INCDIR are your source and include directories, you can use following commands to deploy OCF into your project:

make -C $OCFDIF src O=$SRCDIR
make -C $OCFDIF inc O=$INCDIR

This by default will not copy OCF source files but create symbolic links to them, to avoid source duplication and allow for easy OCF code modification. If you prefer to copy OCF source files (e.g. you don't want to distribute whole OCF repository as your submodule) you can use following commands:

make -C $OCFDIF src O=$SRCDIR CMD=cp
make -C $OCFDIF inc O=$INCDIR CMD=cp

Unit Tests

OCF is shipped with dedicated unit test framework based on Cmocka.
To run unit test you need to install following packages:

  • Cmake (>= 3.8.1)
  • Cmocka (>= 1.1.1)
  • ctags (>= 5.8)

To run unit tests use following command:

./tests/ut-framework/run_unit_tests.py

Contributing

Feel like making OCF better? Don't hesitate to submit a pull request!
In case of any questions feel free to contact maintainer.

About

Open CAS Framework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 89.4%
  • C++ 7.0%
  • Python 3.1%
  • Other 0.5%