summaryrefslogtreecommitdiff
path: root/rust-src/src
diff options
context:
space:
mode:
authorThomas Bertschinger <tahbertschinger@gmail.com>2024-01-15 23:41:01 -0700
committerKent Overstreet <kent.overstreet@linux.dev>2024-01-16 01:46:58 -0500
commitfb35dbfdc5a9446fbb856dae5542b23963e28b89 (patch)
tree7f8cac8d202534b8da6a3da464c1671ab0f9e033 /rust-src/src
parent0a284fc4ffcbb46f0a4b921415ef12a9c75fa05c (diff)
remove library from bcachefs-tools Rust package
When bcachefs was a C program that had some functions implemented in Rust, it was necessary to make a static library containing the Rust functions available for the C program to link. Now that bcachefs is a Rust program, that library is no longer needed. Instead, the Rust executable links in libbachefs.a. This patch updates the crate structure to reflect that. The command functions are moved into their own module. There could be a need to create a "libbachefs-tools" library in the future that exposes an API for bcachefs functionality to other userspace programs. That will be a different, external API as opposed to the previous library functions which were an internal API for the bcachefs tool itself. Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'rust-src/src')
-rw-r--r--rust-src/src/bcachefs.rs21
-rw-r--r--rust-src/src/commands/cmd_completions.rs (renamed from rust-src/src/cmd_completions.rs)0
-rw-r--r--rust-src/src/commands/cmd_list.rs (renamed from rust-src/src/cmd_list.rs)0
-rw-r--r--rust-src/src/commands/cmd_mount.rs (renamed from rust-src/src/cmd_mount.rs)0
-rw-r--r--rust-src/src/commands/logger.rs (renamed from rust-src/src/logger.rs)0
-rw-r--r--rust-src/src/commands/mod.rs (renamed from rust-src/src/lib.rs)10
6 files changed, 17 insertions, 14 deletions
diff --git a/rust-src/src/bcachefs.rs b/rust-src/src/bcachefs.rs
index 3d7af3d4..95f5e1f0 100644
--- a/rust-src/src/bcachefs.rs
+++ b/rust-src/src/bcachefs.rs
@@ -1,11 +1,24 @@
+mod commands;
+mod key;
+
use std::ffi::CString;
-use bcachefs::cmd_completions::cmd_completions;
-use bcachefs::cmd_list::cmd_list;
-use bcachefs::cmd_mount::cmd_mount;
-use bcachefs::logger::SimpleLogger;
+use commands::cmd_completions::cmd_completions;
+use commands::cmd_list::cmd_list;
+use commands::cmd_mount::cmd_mount;
+use commands::logger::SimpleLogger;
use bch_bindgen::c;
+#[derive(Debug)]
+pub struct ErrnoError(pub errno::Errno);
+impl std::fmt::Display for ErrnoError {
+ fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
+ self.0.fmt(f)
+ }
+}
+
+impl std::error::Error for ErrnoError {}
+
fn handle_c_command(args: Vec<String>, symlink_cmd: Option<&str>) -> i32 {
let mut argv: Vec<_> = args.clone();
diff --git a/rust-src/src/cmd_completions.rs b/rust-src/src/commands/cmd_completions.rs
index 53cdd643..53cdd643 100644
--- a/rust-src/src/cmd_completions.rs
+++ b/rust-src/src/commands/cmd_completions.rs
diff --git a/rust-src/src/cmd_list.rs b/rust-src/src/commands/cmd_list.rs
index cb352916..cb352916 100644
--- a/rust-src/src/cmd_list.rs
+++ b/rust-src/src/commands/cmd_list.rs
diff --git a/rust-src/src/cmd_mount.rs b/rust-src/src/commands/cmd_mount.rs
index b120c91e..b120c91e 100644
--- a/rust-src/src/cmd_mount.rs
+++ b/rust-src/src/commands/cmd_mount.rs
diff --git a/rust-src/src/logger.rs b/rust-src/src/commands/logger.rs
index 2cd7b363..2cd7b363 100644
--- a/rust-src/src/logger.rs
+++ b/rust-src/src/commands/logger.rs
diff --git a/rust-src/src/lib.rs b/rust-src/src/commands/mod.rs
index f8b508dc..e05a0848 100644
--- a/rust-src/src/lib.rs
+++ b/rust-src/src/commands/mod.rs
@@ -1,6 +1,5 @@
use clap::Subcommand;
-pub mod key;
pub mod logger;
pub mod cmd_mount;
pub mod cmd_list;
@@ -30,12 +29,3 @@ macro_rules! c_str {
}
};
}
-
-#[derive(Debug)]
-struct ErrnoError(errno::Errno);
-impl std::fmt::Display for ErrnoError {
- fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
- self.0.fmt(f)
- }
-}
-impl std::error::Error for ErrnoError {}