fuselagefs consists of a C++ wrapper class for FUSE called Fuselagefs, as well as Delegatefs, which is a Fuselagefs subclass that delegates all operations to an underlying base filesystem. With Delegatefs, you can expose dir1 at mountpoint dir2 very easily as a FUSE filesystem. Subclasses of Delegatefs can then be created, which add a little extra functionality to the delegation operation but rely on the parent class to perform the work and return errors to FUSE in an appropriate manner. An example subclass is petardfs.
| Tags | Filesystems |
|---|---|
| Licenses | GPL |
| Operating Systems | POSIX Linux |
| Implementation | C++ |
- All comments
Recent commentsHere is project URL
https://sourceforge.net/projects/fuse-cache/
Re: enhancement request...
fyi: i will be checking in fuse-cache to sourceforge and i'm waiting for approval to add project..
enhancement request...
I have created a filesystem fuse-cache based on the excellent work you've done for fuselagefs.. One of my requirements is to mount filesystem from fstab. Rather than -u option then the filesystem is passed as an arg to the executable and hence must be passed in to fuselagefs through call:
return myfuse.main( fuseArgs );
and fuselagefs must then make the BASEDIR be that..
to facilitate this I added following to my local copy and i'm hoping you can include it in the distribution:
1) I moved up BASEDIR for scoping and made it 0 by default:
const char* BASEDIR = 0;
namespace Fuselage
2) added following to main so if -u is not supplied it will attempt to get filesystem by popping last arg from fuseArgs
int Fuselagefs::main( list<string>& fuseArgs )
{
if (BASEDIR == 0) {
string baseDir = fuseArgs.back();
LOG << "popping out base dir:" << baseDir << endl;
BASEDIR = baseDir.c_str();
fuseArgs.pop_back();
}