Skip to content

Commit

Permalink
Add readme of gvfs-fuse
Browse files Browse the repository at this point in the history
  • Loading branch information
diqiu50 committed Feb 6, 2025
1 parent 71998d9 commit f94144f
Showing 1 changed file with 69 additions and 0 deletions.
69 changes: 69 additions & 0 deletions clients/filesystem-fuse/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Gvfs-fuse

Gvfs-fuse is the Fuse client for Gravitino fileset. It allows users to mount Gravitino filesets to their local file system via Fuse, enabling access to Gravitino fileset files as if they were part of the local file system.

## Features
- Supports mounting S3 filesets.
- Enables basic file read and write operations.
- Allows file attribute manipulation.
- Facilitates directory operations within filesets.

## Environment Setup and Build Instructions
### Prerequisites
- `libfuse3-dev` and `fuse3` for Linux systems.
- `macFUSE` for macOS systems.
- `Rust` environment for compiling.

### Build Process
Navigate to the `client/filesystem-fuse` directory of the Gravitino project and execute the following commands:

```shell
# Code verification
make check

# Code formatting
make fmt

# Building Gvfs-fuse
make
```

After building, the executable gvfs-fuse will be located in the target/debug directory.

### Testing

Run the following commands to execute tests:

```
# Run tests that do not depend on the S3 or Gravitino environment
make test
# Run tests that depend on the S3 environment
make test-s3
# Run integration tests that depend on the Gravitino fileset environment
make test-fuse-it
```

## Usage Guide

Navigate to the directory containing the executable and use the following commands to view help information
or to perform mounting operations:

```shell
# Display help information for gvfs-fuse
./gvfs-fuse --help

# Display help for the mount command
./gvfs-fuse mount --help

# Display help for the umount command
./gvfs-fuse umount --help

# Execute the mount command in the foreground
./gvfs-fuse mount gvfs gvfs://fileset/test/c1/s1/fileset1 -c gvfs_fuse_s3.toml -f

# Execute the mount command in the background
./gvfs-fuse mount gvfs gvfs://fileset/test/c1/s1/fileset1 -c gvfs_fuse_s3.toml

```

0 comments on commit f94144f

Please sign in to comment.