https://github.com/piranna/fs-fuse
Export any Node.js `fs`-like object as a FUSE filesystem
https://github.com/piranna/fs-fuse
filesystem fs fuse nodejs
Last synced: 9 months ago
JSON representation
Export any Node.js `fs`-like object as a FUSE filesystem
- Host: GitHub
- URL: https://github.com/piranna/fs-fuse
- Owner: piranna
- License: mit
- Created: 2017-05-27T13:28:21.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-12-15T02:14:47.000Z (over 2 years ago)
- Last Synced: 2024-12-29T11:43:04.584Z (over 1 year ago)
- Topics: filesystem, fs, fuse, nodejs
- Language: JavaScript
- Size: 16.6 KB
- Stars: 32
- Watchers: 2
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fs-fuse
Export any Node.js `fs`-like object as a FUSE filesystem
## Node.js `fs` methods
The following `fs` methods' behavior directly maps to corresponding FUSE operations:
`chmod`, `chown`, `fsync`, `ftruncate`, `link`, `mkdir`, `read`, `readdir`,
`readlink`, `rename`, `rmdir`, `symlink`, `truncate`, `unlink`, `write`
Other FUSE operations internally use the following `fs` methods:
FUSE op | `fs` methods
--------|-------------
*wrapFd* | `open`, `close`
*getattr*, *fgetattr* | `stat`, `fstat`, `lstat`
*read* | `createReadStream`
*write* | `createWriteStream`
*release* | `close`
*utimens* | `futimes`, `utimes`
Not all of these fs methods need to be implemented. For example, the file
descriptor ones are not needed if their path based counterparts are implemented,
and viceversa.
## Non standard `FUSE` methods
If available on the `fs` object, the following FUSE compatible methods can be used
too:
`fuse_access`, `create`, `destroy`, `flush`, `fsyncdir`, `getxattr`, `init`,
`listxattr`, `mknod`, `opendir`, `releasedir`, `removexattr`, `setxattr`,
`statfs`
Note that these are FUSE functions and need to have the **EXACT**
signature and behaviour expected by FUSE, which is different from the Node.js `fs` API.