What is osdfs? | Download it! | Environment | Usage | User-space tools | Design | License/Copyright | Credits

What is osdfs?

Osdfs is a file system that uses an OSD and exports the API of a normal Linux file system. Users access osdfs like any other local file system, and osdfs will in turn issue commands to the local initiator.

Download it!

You can go to the project page or download it and try it out (2.6.10 kernel)!
I am no longer maintaining osdfs, but others have taken over. You can find a more up-to-date version here, and some more information about the more recent effort here.


To use this file system, you need to have an object store to run it on. You may download IBM's OSD initiator and target.
Osdfs currently only works with this target because a user-defined attribute needs to be defined for the osdfs inode. The file system has not been tested in other environments.


  1. Get the OSD initiator and target set up properly, including insmod'ing the OSD initiator kernel module, so_mod.ko (out of the scope of this README).
  2. Execute 'make' in osdfs the osdfs directory. Note that you must set the EXPORT variable in the Makefile to point to the export directory of the initiator.
  3. Insmod the file system kernel module (osdfs.ko).
  4. Make the file system using osdfs/tools/mkosdfs.
    Use the -h option for usage instructions. As an example, this will create the file system on LUN 0, target ID 0, partition ID 65540:
    ./mkosdfs -i 0 -l 0 -p 65540
  5. Make sure the directory where you want to mount exists. If not, create it. (For example, /mnt/osdfs)
  6. Mount the file system.
    For example, to mount LUN 0, target ID 0, partition ID 65540 on /mnt/osdfs:
    mount -t osdfs -o lun=0,tid=0,pid=65540 none /mnt/osdfs/
    Make sure that the parameters match those that were specified to mkosdfs.
    In addition you can specify the following parameters to the mount command:
  7. For reference (under osdfs/):
  8. Extra compilation flags:

User-space tools