diff --git a/.github/dependabot.yml b/.github/dependabot.yml index d056e19b7e9..4e4a81173ec 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -47,12 +47,6 @@ updates: schedule: interval: "monthly" - - package-ecosystem: "cargo" - directory: "/bin/ovfs" - open-pull-requests-limit: 1 - schedule: - interval: "monthly" - - package-ecosystem: "cargo" directory: "/integrations/dav-server" open-pull-requests-limit: 1 diff --git a/.github/workflows/ci_bin_ovfs.yml b/.github/workflows/ci_integration_fuse3.yml similarity index 89% rename from .github/workflows/ci_bin_ovfs.yml rename to .github/workflows/ci_integration_fuse3.yml index 8c967c2aa16..63a878aa7df 100644 --- a/.github/workflows/ci_bin_ovfs.yml +++ b/.github/workflows/ci_integration_fuse3.yml @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -name: Ovfs CI +name: Integration Fuse3 CI on: push: @@ -25,9 +25,9 @@ on: branches: - main paths: - - "bin/ovfs/**" + - "integrations/fuse3/**" - "core/**" - - ".github/workflows/ci_bin_ovfs.yml" + - ".github/workflows/ci_integration_fuse3.yml" concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} @@ -47,5 +47,5 @@ jobs: github-token: ${{ secrets.GITHUB_TOKEN }} - name: Cargo clippy - working-directory: bin/ovfs + working-directory: integrations/fuse3 run: cargo clippy --all-targets --all-features -- -D warnings diff --git a/.github/workflows/ci_integration_virtiofs.yml b/.github/workflows/ci_integration_virtiofs.yml new file mode 100644 index 00000000000..648c6918213 --- /dev/null +++ b/.github/workflows/ci_integration_virtiofs.yml @@ -0,0 +1,51 @@ +# 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. + +name: Integration Virtiofs CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + paths: + - "integrations/virtiofs/**" + - "core/**" + - ".github/workflows/ci_integration_virtiofs.yml" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} + cancel-in-progress: true + +jobs: + check_clippy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: ./.github/actions/setup + with: + need-rocksdb: true + need-protoc: true + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Cargo clippy + working-directory: integrations/virtiofs + run: cargo clippy --all-targets --all-features -- -D warnings diff --git a/bin/ovfs/Cargo.lock b/bin/ovfs/Cargo.lock deleted file mode 100644 index 8d851d460b9..00000000000 --- a/bin/ovfs/Cargo.lock +++ /dev/null @@ -1,225 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "anyhow" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" - -[[package]] -name = "arc-swap" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "libc" -version = "0.2.155" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" - -[[package]] -name = "log" -version = "0.4.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" - -[[package]] -name = "ovfs" -version = "0.1.0" -dependencies = [ - "anyhow", - "libc", - "snafu", - "vhost", - "vhost-user-backend", - "virtio-bindings", - "virtio-queue", - "vm-memory", - "vmm-sys-util", -] - -[[package]] -name = "proc-macro2" -version = "1.0.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "snafu" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418b8136fec49956eba89be7da2847ec1909df92a9ae4178b5ff0ff092c8d95e" -dependencies = [ - "snafu-derive", -] - -[[package]] -name = "snafu-derive" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a4812a669da00d17d8266a0439eddcacbc88b17f732f927e52eeb9d196f7fb5" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "syn" -version = "2.0.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "thiserror" -version = "1.0.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "vhost" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6be08d1166d41a78861ad50212ab3f9eca0729c349ac3a7a8f557c62406b87cc" -dependencies = [ - "bitflags 2.5.0", - "libc", - "vm-memory", - "vmm-sys-util", -] - -[[package]] -name = "vhost-user-backend" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f76401f5c520d068ccb31eefbc88fa5b526039747ec612cb33a5f9c57a263199" -dependencies = [ - "libc", - "log", - "vhost", - "virtio-bindings", - "virtio-queue", - "vm-memory", - "vmm-sys-util", -] - -[[package]] -name = "virtio-bindings" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "878bcb1b2812a10c30d53b0ed054999de3d98f25ece91fc173973f9c57aaae86" - -[[package]] -name = "virtio-queue" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3f69a13d6610db9312acbb438b0390362af905d37634a2106be70c0f734986d" -dependencies = [ - "log", - "virtio-bindings", - "vm-memory", - "vmm-sys-util", -] - -[[package]] -name = "vm-memory" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3aba5064cc5f6f7740cddc8dae34d2d9a311cac69b60d942af7f3ab8fc49f4" -dependencies = [ - "arc-swap", - "libc", - "thiserror", - "winapi", -] - -[[package]] -name = "vmm-sys-util" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1435039746e20da4f8d507a72ee1b916f7b4b05af7a91c093d2c6561934ede" -dependencies = [ - "bitflags 1.3.2", - "libc", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/bin/ovfs/DEPENDENCIES.rust.tsv b/bin/ovfs/DEPENDENCIES.rust.tsv deleted file mode 100644 index 22c12d17511..00000000000 --- a/bin/ovfs/DEPENDENCIES.rust.tsv +++ /dev/null @@ -1,26 +0,0 @@ -crate Apache-2.0 BSD-3-Clause MIT Unicode-DFS-2016 Unlicensed -anyhow@1.0.86 X X -arc-swap@1.7.1 X X -bitflags@1.3.2 X X -bitflags@2.5.0 X X -heck@0.5.0 X X -libc@0.2.155 X X -log@0.4.21 X X -ovfs@0.1.0 X -proc-macro2@1.0.85 X X -quote@1.0.36 X X -snafu@0.8.3 X X -snafu-derive@0.8.3 X X -syn@2.0.66 X X -thiserror@1.0.61 X X -thiserror-impl@1.0.61 X X -unicode-ident@1.0.12 X X X -vhost@0.11.0 X X -vhost-user-backend@0.14.0 X -virtio-bindings@0.2.2 X X -virtio-queue@0.11.0 X X -vm-memory@0.14.1 X X -vmm-sys-util@0.12.1 X -winapi@0.3.9 X X -winapi-i686-pc-windows-gnu@0.4.0 X X -winapi-x86_64-pc-windows-gnu@0.4.0 X X diff --git a/integrations/virtiofs/.gitignore b/integrations/virtiofs/.gitignore new file mode 100644 index 00000000000..03314f77b5a --- /dev/null +++ b/integrations/virtiofs/.gitignore @@ -0,0 +1 @@ +Cargo.lock diff --git a/bin/ovfs/Cargo.toml b/integrations/virtiofs/Cargo.toml similarity index 80% rename from bin/ovfs/Cargo.toml rename to integrations/virtiofs/Cargo.toml index 9903fbf3f99..b91ddcf1385 100644 --- a/bin/ovfs/Cargo.toml +++ b/integrations/virtiofs/Cargo.toml @@ -16,9 +16,16 @@ # under the License. [package] -name = "ovfs" -version = "0.1.0" +description = "virtiofs integration for Apache OpenDAL" +name = "virtiofs_opendal" + +authors = ["Apache OpenDAL "] edition = "2021" +homepage = "https://opendal.apache.org/" +license = "Apache-2.0" +repository = "https://github.com/apache/opendal" +rust-version = "1.75" +version = "0.1.0" [dependencies] snafu = "0.8.3" diff --git a/bin/ovfs/src/error.rs b/integrations/virtiofs/src/error.rs similarity index 100% rename from bin/ovfs/src/error.rs rename to integrations/virtiofs/src/error.rs diff --git a/bin/ovfs/src/main.rs b/integrations/virtiofs/src/lib.rs similarity index 93% rename from bin/ovfs/src/main.rs rename to integrations/virtiofs/src/lib.rs index d38f87407fd..e9e65c3b0de 100644 --- a/bin/ovfs/src/main.rs +++ b/integrations/virtiofs/src/lib.rs @@ -17,8 +17,4 @@ mod error; mod virtiofs; -mod virtiofs_utils; - -fn main() { - unimplemented!() -} +mod virtiofs_util; diff --git a/bin/ovfs/src/virtiofs.rs b/integrations/virtiofs/src/virtiofs.rs similarity index 100% rename from bin/ovfs/src/virtiofs.rs rename to integrations/virtiofs/src/virtiofs.rs diff --git a/bin/ovfs/src/virtiofs_utils.rs b/integrations/virtiofs/src/virtiofs_util.rs similarity index 100% rename from bin/ovfs/src/virtiofs_utils.rs rename to integrations/virtiofs/src/virtiofs_util.rs