Skip to content

Commit

Permalink
Experimental FUSE mode (#27)
Browse files Browse the repository at this point in the history
  • Loading branch information
losfair authored Aug 22, 2022
1 parent 48e4391 commit b16b6d6
Show file tree
Hide file tree
Showing 9 changed files with 593 additions and 5 deletions.
6 changes: 6 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,13 @@ jobs:
set -e
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-clients_7.1.17-1_amd64.deb --output fdb-client.deb
sudo dpkg -i fdb-client.deb
sudo apt update && sudo apt install -y libfuse3-dev
- name: Build (mvstore)
run: cargo build --release -p mvstore
- name: Build (mvsqlite)
run: cargo build --release -p mvsqlite
- name: Build (mvsqlite-fuse)
run: cargo build --release -p mvsqlite-fuse
- name: Build (shared libraries)
run: make -C ./mvsqlite-preload build-preload && make -C ./mvsqlite-preload build-lib
- name: Build (mvstore-stress)
Expand All @@ -39,6 +42,7 @@ jobs:
cd build
cp ../target/release/mvstore ./
cp ../target/release/mvstore-stress ./
cp ../target/release/mvsqlite-fuse ./
cp ../mvsqlite-preload/libmvsqlite_preload.so ./
cp ../mvsqlite-preload/libmvsqlite.a ./
find . -type f -exec sha256sum '{}' ';'
Expand All @@ -64,6 +68,7 @@ jobs:
curl -L https://github.com/apple/foundationdb/releases/download/7.1.17/foundationdb-clients_7.1.17-1_amd64.deb --output fdb-client.deb
sudo dpkg -i fdb-client.deb
cargo install cargo-deb
sudo apt update && sudo apt install -y libfuse3-dev # stop cargo from complaining, not really needed
- name: Build mvstore
run: cd mvstore && cargo deb && cd .. && mkdir deb && cp ./target/debian/*.deb ./deb/
- name: Push
Expand Down Expand Up @@ -350,6 +355,7 @@ jobs:
with:
files: |
build/mvstore
build/mvsqlite-fuse
build/libmvsqlite_preload.so
build/libmvsqlite.a
deb/*.deb
Expand Down
100 changes: 100 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[workspace]
members = [
"mvsqlite",
"mvsqlite-fuse",
"mvstore",
"mvstore-stress",
"mvclient",
Expand Down
4 changes: 2 additions & 2 deletions mvfs/src/vfs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -552,7 +552,7 @@ impl Connection {
Ok(false)
}

pub fn current_lock(&self) -> Result<LockKind, std::io::Error> {
Ok(self.lock)
pub fn current_lock(&self) -> LockKind {
self.lock
}
}
27 changes: 27 additions & 0 deletions mvsqlite-fuse/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[package]
name = "mvsqlite-fuse"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
anyhow = "1"
thiserror = "1"
tokio = { version = "1", features = ["full"] }
log = "0.4"
rand = "0.8.5"
mvclient = { path = "../mvclient" }
tracing = "0.1"
tracing-subscriber = { version = "0.3.15", features = ["env-filter", "fmt", "tracing-log", "json"] }
libc = "0.2"
backtrace = "0.3.66"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
lazy_static = "1.4.0"
reqwest = { version = "0.11.11", default-features = false, features = ["rustls-tls"] }
mvfs = { path = "../mvfs" }
fuser = "0.11.0"
structopt = "0.3.26"
indexmap = "1.9.1"
slab = "0.4.7"
Loading

0 comments on commit b16b6d6

Please sign in to comment.