Open
Description
Describe the proposal
Implement GVFS fuse tools to access Gravitino file sets in the POSIX Protocols
Documents for Gvfs fuse
How to use it in python:
# init fileset
fs_context = gvfs.fs.context(server_uri="http://localhost:8090", metalake_name="test_metalake", properties=config_gv)
fileset = fs_context.createFileset(path="fileset/test_catalog/schema1/ai_fileset", properties=config_fs)
# mount dir
root_dir = fileset.getRoot()
mount_dir = "/mnt/myfileset"
gvfs.util.mount(root_dir, mount_dir, properties=fileset.config())
# read file in the mounted directory
file_f = read(mountdir + "/0567/a.txt")
print(file_f.readToString())
# unmount
gvfs.util.unmount(mount_dir)
How to use it in command line:
#mount
gvfsutil mount --gvfs_path gvfs://fileset/test_catalog/schema1/ai_fileset --mount_path /mnt/ai_fileset --config /tmp/gvfs.config
#unmount
gvfsutil unmount /mnt/fileset/test_catalog/schema1/ai_fileset
Task list
- [Subtask] [gvfs-fuse] Set up a submodule project for the Gvfs-fuse. #5626
- [Subtask] Use Rust Gradle plugin improve Rust compile script #5743
- [Subtask] Gvfs-fuse basic FUSE-level implementation and code structure layout. #5734
- [Subtask] Handle file name encoding and special characters. #5869
- [Subtask] Add debug log for FUSE API handling. #5873
- [Subtask] Implement a common filesystem layer to simplify real filesystem implementations #5877
- [Subtask] Optimize CI pipeline tasks to avoid executing unrelated modules. #5885
- [Subtask] Implement an in-memory file system for testing and validating the FUSE framework. #5886
- [Subtask] Implement the Gravitino fileset file system in gvfs fuse #5982
- [Subtask] Implement the S3 fileset filesystem operation in gvfs fuse #6012
- [Subtask] Add integration test framework for Gvfs-fuse #6131
- [Subtask] Enhance the capability to execute special group Rust tests. #6223
- [Subtask] Add gvfs-fuse integration tests for big files and open-file flag test cases #6279
- [Subtask] Enhance the Filesystem::stat() functionality in gvfs-fuse to include the file type #6357
- [Subtask] Add README documents in the module of filesystem-fuse #6404
- Metadata Cache
- Data Cache
- Support mount from a catalog or schema
- Gvfs Support for JuiceFS
- [Subtask] Gvfs Fuse command line Tools: support mount and umount command #6320
- Gvfs Fuse Python lib: support mount and umount api
- Gvfs Permissions and Quotas
- Gvfs Monitoring and Metrics
- Gvfs Read/Write Performance Optimization