FusqlFS - FUSE filesystem to work with database via DBI interface
use FusqlFS; FusqlFS->init( engine => 'PgSQL', host => 'localhost', database => 'postgres', user => 'postgres', password => 'pas$w0rd', limit => 100, debug => 2, threaded => 0, ); FusqlFS->mount( '/path/to/mount/point', 'allow_other', );
Input: %options. Output: $fusqlfs_instance.
Runs fuse main loop, configured with all required hooks and options to interface with FusqlFS::Backend.
Input: $mountpoint, $mountopts.
- Fuse hooks
"getdir" in Fuse, "getattr" in Fuse, "readlink" in Fuse, "read" in Fuse, "write" in Fuse, "flush" in Fuse, "open" in Fuse, "truncate" in Fuse, "symlink" in Fuse, "unlink" in Fuse, "mkdir" in Fuse, "rmdir" in Fuse, "mknod" in Fuse, "rename" in Fuse, "fsync" in Fuse, "utime" in Fuse.
See Fuse for details.
Folds path by removing "..", "." and other special sequences from it.
Input: $path. Output $folded_path.
Creates FUSE-exportable file structure for given entry.
Input: $entry. Output: @file_struct.
Gets entry by path, uses cache.
Invalidates entries cache for given path, optionally recursively invalidating all paths up to given depth.
Input: $path, $depth=undef.
Flushes input buffer for given $entry by given $path.
Input: $path, $entry.