NDN-friendly file system (based on FUSE)
C++ Python C JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.



NDN-friendly file system (based on FUSE)

Update Oct, 2015 (Zhehao)

An updated version of the implementation (that works with the ndn-cpp (tested with 0.7)) can be found here. More later.

Compilation on Mac OSX 10.8.3


  • OXSFUSE 2.5.6;
  • MongoDB 2.4.5 (including its cpp library ver. 2.4.5);
  • ndn.cxx library;
  • boost library;

To compile the source code:

./waf configure (--debug)

To run on Mac:

mkdir /tmp/ndnfs
./build/ndnfs /tmp/ndnfs

This will mount the file system to local folder '/tmp/ndnfs/'. To unmount NDNFS, simply type:

umount /tmp/ndnfs

Use '-f' to run in foreground and see debug info (if you compiled with --debug option):

./build/ndnfs -f /tmp/ndnfs

If '-f' is used, NDNFS is unmounted automatically when you kill 'ndnfs' process.

To specify a global prefix for all the files stored in NDNFS:

./build/ndnfs -f /tmp/ndnfs -o prefix=/ndn/ucla.edu/cs/wentao/ndnfs

In this case, the NDN Content Object name is the global prefix + absolute file path.

Compilation on Ubuntu 12.04


  • libfuse-dev (can be installed with apt-get)
  • libboost-all-dev (can be installed with apt-get)
  • MongoDB library 2.4.3
  • ndn.cxx library

Note: the MongoDB package in the Ubuntu default package pool is too old. Follow http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ to install MongoDB 2.4.3 and then download and install MongoDB C++ Driver 2.4.3 from http://dl.mongodb.org/dl/cxx-driver.

Usage is the same as on Mac OSX.