tengqm commented on code in PR #6405:
URL: https://github.com/apache/gravitino/pull/6405#discussion_r1957541590


##########
clients/filesystem-fuse/README.md:
##########
@@ -0,0 +1,135 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# 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.
+- Supports basic file read and write operations.
+- Supports directory operations
+- Allows file attribute manipulation.
+
+
+## Environment setup and build instructions
+
+### Prerequisites
+
+You need to install the following software before you can build gvfs-fuse
+
+- [fuse3 and 
libfuse3-dev](https://www.kernel.org/doc/html/next/filesystems/fuse.html) for 
Linux systems.
+- [macFUSE](https://macfuse.github.io) for macOS systems.
+- [Rust](https://www.rust-lang.org) 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` binary 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
+```

Review Comment:
   Are all the above tests necessary for all scenarios?



##########
clients/filesystem-fuse/README.md:
##########
@@ -0,0 +1,135 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# 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.
+- Supports basic file read and write operations.
+- Supports directory operations
+- Allows file attribute manipulation.
+
+
+## Environment setup and build instructions
+
+### Prerequisites
+
+You need to install the following software before you can build gvfs-fuse
+
+- [fuse3 and 
libfuse3-dev](https://www.kernel.org/doc/html/next/filesystems/fuse.html) for 
Linux systems.
+- [macFUSE](https://macfuse.github.io) for macOS systems.
+- [Rust](https://www.rust-lang.org) 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` binary 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 `clients/filesystem-fuse` directory, build the executable 
binary and use the following commands to view

Review Comment:
   ```suggestion
   Navigate to the `clients/filesystem-fuse` directory, run the following 
commands to view
   ```



##########
clients/filesystem-fuse/README.md:
##########
@@ -0,0 +1,135 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# 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.
+- Supports basic file read and write operations.
+- Supports directory operations
+- Allows file attribute manipulation.
+
+
+## Environment setup and build instructions
+
+### Prerequisites
+
+You need to install the following software before you can build gvfs-fuse
+
+- [fuse3 and 
libfuse3-dev](https://www.kernel.org/doc/html/next/filesystems/fuse.html) for 
Linux systems.
+- [macFUSE](https://macfuse.github.io) for macOS systems.
+- [Rust](https://www.rust-lang.org) 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` binary 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 `clients/filesystem-fuse` directory, build the executable 
binary and use the following commands to view
+help information or to perform mounting operations:
+
+```shell
+# Display help information for gvfs-fuse
+target/debug/gvfs-fuse --help
+
+# Display help for the mount command
+target/debug/gvfs-fuse mount --help
+
+# Display help for the umount command
+target/debug/gvfs-fuse umount --help
+
+#create mount directory
+mkdir -p target/gvfs
+
+# Execute the mount command in the foreground
+# mount the fileset uri to the local directory target/gvfs. You need to start 
the gravitino server and create the fileset first
+target/debug/gvfs-fuse mount target/gvfs gvfs://fileset/test/c1/s1/fileset1 -c 
conf/gvfs_fuse.toml -f
+
+# Execute the mount command in the background
+# mount the fileset uri to the local directory target/gvfs
+target/debug/gvfs-fuse mount target/gvfs gvfs://fileset/test/c1/s1/fileset1 -c 
conf/gvfs_fuse.toml
+
+# Execute the umount command
+# unmount the fileset from the local directory target/gvfs
+target/debug/gvfs-fuse umount target/gvfs
+```
+
+The `conf/gvfs_fuse.toml` file is a configuration file that contains the 
following information:
+
+```toml
+# fuse settings
+[fuse]
+file_mask= 0o600
+dir_mask= 0o700
+fs_type = "gvfs"
+
+# filesystem settings
+[filesystem]
+block_size = 8192
+
+# Gravitino settings
+[gravitino]
+uri = "http://localhost:8090";
+metalake = "test"
+
+# extend settings
+[extend_config]
+s3-access_key_id = "XXX_access_key"
+s3-secret_access_key = "XXX_secret_key"
+s3-region = "XXX_region"
+s3-bucket = "XXX_bucket"
+s3-endpoint = "XXX_endpoint"
+```
+
+The command starts a FUSE program with the given configuration, using a 
`MemoryFilesystem` for testing.

Review Comment:
   Which command?



##########
clients/filesystem-fuse/conf/gvfs_fuse.toml:
##########
@@ -20,7 +20,7 @@
 file_mask = 0o600
 dir_mask = 0o700
 fs_type = "memory"
-data_path = "target/gvfs-fuse"
+data_dir = "target/gvfs-fuse"

Review Comment:
   Please split this PR into two smaller ones. One for doc change, the other 
for code tuning.



##########
clients/filesystem-fuse/README.md:
##########
@@ -0,0 +1,135 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# 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.
+- Supports basic file read and write operations.
+- Supports directory operations
+- Allows file attribute manipulation.
+
+
+## Environment setup and build instructions
+
+### Prerequisites
+
+You need to install the following software before you can build gvfs-fuse
+
+- [fuse3 and 
libfuse3-dev](https://www.kernel.org/doc/html/next/filesystems/fuse.html) for 
Linux systems.
+- [macFUSE](https://macfuse.github.io) for macOS systems.
+- [Rust](https://www.rust-lang.org) 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` binary will be located in the 
target/debug directory.

Review Comment:
   ```suggestion
   After building, the `gvfs-fuse` executable will be located in the 
`target/debug` directory.
   ```



##########
clients/filesystem-fuse/README.md:
##########
@@ -0,0 +1,135 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# 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.
+- Supports basic file read and write operations.
+- Supports directory operations
+- Allows file attribute manipulation.

Review Comment:
   None of the above items are full sentences, so the ending periods could be 
all removed.



##########
clients/filesystem-fuse/README.md:
##########
@@ -0,0 +1,135 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# 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.
+- Supports basic file read and write operations.
+- Supports directory operations
+- Allows file attribute manipulation.
+
+
+## Environment setup and build instructions
+
+### Prerequisites
+
+You need to install the following software before you can build gvfs-fuse

Review Comment:
   ```suggestion
   You need to install the following software before you can build gvfs-fuse:
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@gravitino.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to