Skip to content

Commit 75f1ef7

Browse files
authored
Merge branch 'main' into fix-debuginfo
2 parents 11ef07f + eb26211 commit 75f1ef7

File tree

126 files changed

+329
-348
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+329
-348
lines changed

Cargo.lock

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/cpu-template-helper/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ serde_json = "1.0.128"
1919
thiserror = "1.0.63"
2020

2121
vmm = { path = "../vmm" }
22-
vmm-sys-util = { version = "0.12.1", features = ["with-serde"] }
22+
vmm-sys-util = "0.12.1"
2323

2424
[features]
2525
tracing = ["log-instrument", "vmm/tracing"]

src/firecracker/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ thiserror = "1.0.63"
3030
timerfd = "1.6.0"
3131
utils = { path = "../utils" }
3232
vmm = { path = "../vmm" }
33+
vmm-sys-util = { version = "0.12.1", features = ["with-serde"] }
3334

3435
[dev-dependencies]
3536
cargo_toml = "0.20.4"

src/firecracker/examples/uffd/uffd_utils.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use std::ptr;
1212

1313
use serde::{Deserialize, Serialize};
1414
use userfaultfd::{Error, Event, Uffd};
15-
use utils::sock_ctrl_msg::ScmSocket;
15+
use vmm_sys_util::sock_ctrl_msg::ScmSocket;
1616

1717
// This is the same with the one used in src/vmm.
1818
/// This describes the mapping between Firecracker base virtual address and offset in the
@@ -299,8 +299,8 @@ mod tests {
299299
use std::mem::MaybeUninit;
300300
use std::os::unix::net::UnixListener;
301301

302-
use utils::tempdir::TempDir;
303-
use utils::tempfile::TempFile;
302+
use vmm_sys_util::tempdir::TempDir;
303+
use vmm_sys_util::tempfile::TempFile;
304304

305305
use super::*;
306306

src/firecracker/src/api_server/mod.rs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@ pub use micro_http::{Body, HttpServer, Request, Response, ServerError, StatusCod
1616
use parsed_request::{ParsedRequest, RequestAction};
1717
use seccompiler::BpfProgramRef;
1818
use serde_json::json;
19-
use utils::eventfd::EventFd;
19+
use utils::time::{get_time_us, ClockType};
2020
use vmm::logger::{
2121
debug, error, info, update_metric_with_elapsed_time, warn, ProcessTimeReporter, METRICS,
2222
};
2323
use vmm::rpc_interface::{ApiRequest, ApiResponse, VmmAction};
2424
use vmm::vmm_config::snapshot::SnapshotType;
25+
use vmm_sys_util::eventfd::EventFd;
2526

2627
/// Structure associated with the API server implementation.
2728
#[derive(Debug)]
@@ -101,17 +102,15 @@ impl ApiServer {
101102
}
102103
};
103104
for server_request in request_vec {
104-
let request_processing_start_us =
105-
utils::time::get_time_us(utils::time::ClockType::Monotonic);
105+
let request_processing_start_us = get_time_us(ClockType::Monotonic);
106106
// Use `self.handle_request()` as the processing callback.
107107
let response = server_request
108108
.process(|request| self.handle_request(request, request_processing_start_us));
109109
if let Err(err) = server.respond(response) {
110110
error!("API Server encountered an error on response: {}", err);
111111
};
112112

113-
let delta_us = utils::time::get_time_us(utils::time::ClockType::Monotonic)
114-
- request_processing_start_us;
113+
let delta_us = get_time_us(ClockType::Monotonic) - request_processing_start_us;
115114
debug!("Total previous API call duration: {} us.", delta_us);
116115
}
117116
}
@@ -205,14 +204,14 @@ mod tests {
205204
use std::thread;
206205

207206
use micro_http::HttpConnection;
208-
use utils::tempfile::TempFile;
209207
use utils::time::ClockType;
210208
use vmm::builder::StartMicrovmError;
211209
use vmm::logger::StoreMetric;
212210
use vmm::rpc_interface::{VmmActionError, VmmData};
213211
use vmm::seccomp_filters::get_empty_filters;
214212
use vmm::vmm_config::instance_info::InstanceInfo;
215213
use vmm::vmm_config::snapshot::CreateSnapshotParams;
214+
use vmm_sys_util::tempfile::TempFile;
216215

217216
use super::request::cpu_configuration::parse_put_cpu_config;
218217
use super::*;
@@ -259,7 +258,7 @@ mod tests {
259258
// latencies_us.pause_vm metric can be set to 0, failing the assertion below. By
260259
// subtracting 1 we assure that the metric will always be set to at least 1 (if it gets set
261260
// at all, which is what this test is trying to prove).
262-
let start_time_us = utils::time::get_time_us(ClockType::Monotonic) - 1;
261+
let start_time_us = get_time_us(ClockType::Monotonic) - 1;
263262
assert_eq!(METRICS.latencies_us.pause_vm.fetch(), 0);
264263
to_api.send(Box::new(Ok(VmmData::Empty))).unwrap();
265264
let response =

src/firecracker/src/api_server_adapter.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ use std::thread;
99

1010
use event_manager::{EventOps, Events, MutEventSubscriber, SubscriberOps};
1111
use seccompiler::BpfThreadMap;
12-
use utils::epoll::EventSet;
13-
use utils::eventfd::EventFd;
1412
use vmm::logger::{error, warn, ProcessTimeReporter};
1513
use vmm::resources::VmResources;
1614
use vmm::rpc_interface::{
@@ -19,6 +17,8 @@ use vmm::rpc_interface::{
1917
};
2018
use vmm::vmm_config::instance_info::InstanceInfo;
2119
use vmm::{EventManager, FcExitCode, Vmm};
20+
use vmm_sys_util::epoll::EventSet;
21+
use vmm_sys_util::eventfd::EventFd;
2222

2323
use super::api_server::{ApiServer, HttpServer, ServerError};
2424

src/firecracker/src/main.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ use event_manager::SubscriberOps;
1919
use seccomp::FilterError;
2020
use seccompiler::BpfThreadMap;
2121
use utils::arg_parser::{ArgParser, Argument};
22-
use utils::terminal::Terminal;
2322
use utils::validators::validate_instance_id;
2423
use vmm::builder::StartMicrovmError;
2524
use vmm::logger::{
@@ -32,6 +31,7 @@ use vmm::snapshot::{Snapshot, SnapshotError};
3231
use vmm::vmm_config::instance_info::{InstanceInfo, VmState};
3332
use vmm::vmm_config::metrics::{init_metrics, MetricsConfig, MetricsConfigError};
3433
use vmm::{EventManager, FcExitCode, HTTP_MAX_PAYLOAD_SIZE};
34+
use vmm_sys_util::terminal::Terminal;
3535

3636
use crate::seccomp::SeccompConfig;
3737

@@ -47,7 +47,7 @@ enum MainError {
4747
/// Failed to set the logger: {0}
4848
SetLogger(vmm::logger::LoggerInitError),
4949
/// Failed to register signal handlers: {0}
50-
RegisterSignalHandlers(#[source] utils::errno::Error),
50+
RegisterSignalHandlers(#[source] vmm_sys_util::errno::Error),
5151
/// Arguments parsing error: {0} \n\nFor more information try --help.
5252
ParseArguments(#[from] utils::arg_parser::UtilsArgParserError),
5353
/// When printing Snapshot Data format: {0}

src/firecracker/src/metrics.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ use std::time::Duration;
66

77
use event_manager::{EventOps, Events, MutEventSubscriber};
88
use timerfd::{ClockId, SetTimeFlags, TimerFd, TimerState};
9-
use utils::epoll::EventSet;
109
use vmm::logger::{error, warn, IncMetric, METRICS};
10+
use vmm_sys_util::epoll::EventSet;
1111

1212
/// Metrics reporting period.
1313
pub(crate) const WRITE_METRICS_PERIOD_MS: u64 = 60000;

src/firecracker/src/seccomp.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ mod tests {
119119
use std::sync::Arc;
120120

121121
use seccompiler::BpfThreadMap;
122-
use utils::tempfile::TempFile;
122+
use vmm_sys_util::tempfile::TempFile;
123123

124124
use super::*;
125125

src/jailer/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ log-instrument = { path = "../log-instrument", optional = true }
1717
nix = { version = "0.29.0", default-features = false, features = ["dir"] }
1818
regex = { version = "1.10.6", default-features = false, features = ["std"] }
1919
thiserror = "1.0.63"
20+
vmm-sys-util = "0.12.1"
2021

2122
utils = { path = "../utils" }
2223

src/jailer/src/cgroup.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ pub mod test_util {
504504
use std::io::Write;
505505
use std::path::{Path, PathBuf};
506506

507-
use utils::rand;
507+
use vmm_sys_util::rand;
508508

509509
#[derive(Debug)]
510510
pub struct MockCgroupFs {
@@ -617,8 +617,8 @@ mod tests {
617617
use std::io::{BufReader, Write};
618618
use std::path::PathBuf;
619619

620-
use utils::tempdir::TempDir;
621-
use utils::tempfile::TempFile;
620+
use vmm_sys_util::tempdir::TempDir;
621+
use vmm_sys_util::tempfile::TempFile;
622622

623623
use super::*;
624624
use crate::cgroup::test_util::MockCgroupFs;

src/jailer/src/chroot.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use std::ffi::CStr;
66
use std::path::Path;
77
use std::ptr::null;
88

9-
use utils::syscall::SyscallReturnCode;
9+
use vmm_sys_util::syscall::SyscallReturnCode;
1010

1111
use super::{to_cstring, JailerError};
1212

src/jailer/src/env.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@ use std::process::{exit, id, Command, Stdio};
1212
use std::{fmt, io};
1313

1414
use utils::arg_parser::UtilsArgParserError::MissingValue;
15-
use utils::syscall::SyscallReturnCode;
15+
use utils::time::{get_time_us, ClockType};
1616
use utils::{arg_parser, validators};
17+
use vmm_sys_util::syscall::SyscallReturnCode;
1718

1819
use crate::cgroup::{CgroupConfiguration, CgroupConfigurationBuilder};
1920
use crate::chroot::chroot;
@@ -663,7 +664,7 @@ impl Env {
663664
// Daemonize before exec, if so required (when the dev_null variable != None).
664665
if let Some(dev_null) = dev_null {
665666
// Meter CPU usage before fork()
666-
self.jailer_cpu_time_us = utils::time::get_time_us(utils::time::ClockType::ProcessCpu);
667+
self.jailer_cpu_time_us = get_time_us(ClockType::ProcessCpu);
667668

668669
// We follow the double fork method to daemonize the jailer referring to
669670
// https://0xjet.github.io/3OHA/2022/04/11/post.html
@@ -688,7 +689,7 @@ impl Env {
688689
.map_err(JailerError::SetSid)?;
689690

690691
// Meter CPU usage before fork()
691-
self.jailer_cpu_time_us += utils::time::get_time_us(utils::time::ClockType::ProcessCpu);
692+
self.jailer_cpu_time_us += get_time_us(ClockType::ProcessCpu);
692693

693694
// Daemons should not have controlling terminals.
694695
// If a daemon has a controlling terminal, it can receive signals
@@ -714,8 +715,7 @@ impl Env {
714715
}
715716

716717
// Compute jailer's total CPU time up to the current time.
717-
self.jailer_cpu_time_us +=
718-
utils::time::get_time_us(utils::time::ClockType::ProcessCpu) - self.start_time_cpu_us;
718+
self.jailer_cpu_time_us += get_time_us(ClockType::ProcessCpu) - self.start_time_cpu_us;
719719
// Reset process start time.
720720
self.start_time_cpu_us = 0;
721721

@@ -736,9 +736,9 @@ mod tests {
736736
use std::fs::create_dir_all;
737737
use std::os::linux::fs::MetadataExt;
738738

739-
use utils::rand;
740-
use utils::tempdir::TempDir;
741-
use utils::tempfile::TempFile;
739+
use vmm_sys_util::rand;
740+
use vmm_sys_util::tempdir::TempDir;
741+
use vmm_sys_util::tempfile::TempFile;
742742

743743
use super::*;
744744
use crate::build_arg_parser;

src/jailer/src/main.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ use std::{env as p_env, fs, io};
88

99
use env::PROC_MOUNTS;
1010
use utils::arg_parser::{ArgParser, Argument, UtilsArgParserError as ParsingError};
11-
use utils::syscall::SyscallReturnCode;
11+
use utils::time::{get_time_us, ClockType};
1212
use utils::validators;
13+
use vmm_sys_util::syscall::SyscallReturnCode;
1314

1415
use crate::env::Env;
1516

@@ -334,8 +335,8 @@ fn main_exec() -> Result<(), JailerError> {
334335

335336
Env::new(
336337
arguments,
337-
utils::time::get_time_us(utils::time::ClockType::Monotonic),
338-
utils::time::get_time_us(utils::time::ClockType::ProcessCpu),
338+
get_time_us(ClockType::Monotonic),
339+
get_time_us(ClockType::ProcessCpu),
339340
PROC_MOUNTS,
340341
)
341342
.and_then(|env| {
@@ -356,7 +357,7 @@ mod tests {
356357
use std::fs::File;
357358
use std::os::unix::io::IntoRawFd;
358359

359-
use utils::rand;
360+
use vmm_sys_util::rand;
360361

361362
use super::*;
362363

src/jailer/src/resource_limits.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
use std::fmt;
55
use std::fmt::{Display, Formatter};
66

7-
use utils::syscall::SyscallReturnCode;
7+
use vmm_sys_util::syscall::SyscallReturnCode;
88

99
use super::JailerError;
1010

src/rebase-snap/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ displaydoc = "0.2.5"
1414
libc = "0.2.158"
1515
log-instrument = { path = "../log-instrument", optional = true }
1616
thiserror = "1.0.63"
17+
vmm-sys-util = "0.12.1"
1718

1819
utils = { path = "../utils" }
1920

src/rebase-snap/src/main.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ use std::io::{Seek, SeekFrom};
77
use std::os::unix::io::AsRawFd;
88

99
use utils::arg_parser::{ArgParser, Argument, Arguments, UtilsArgParserError as ArgError};
10-
use utils::seek_hole::SeekHole;
11-
use utils::u64_to_usize;
10+
use vmm_sys_util::seek_hole::SeekHole;
1211

1312
const REBASE_SNAP_VERSION: &str = env!("CARGO_PKG_VERSION");
1413
const BASE_FILE: &str = "base-file";
@@ -104,7 +103,7 @@ fn rebase(base_file: &mut File, diff_file: &mut File) -> Result<(), FileError> {
104103
base_file.as_raw_fd(),
105104
diff_file.as_raw_fd(),
106105
(&mut cursor as *mut u64).cast::<i64>(),
107-
u64_to_usize(block_end.saturating_sub(cursor)),
106+
usize::try_from(block_end.saturating_sub(cursor)).unwrap(),
108107
)
109108
};
110109
if num_transferred_bytes < 0 {
@@ -161,7 +160,7 @@ mod tests {
161160
use std::io::{Seek, SeekFrom, Write};
162161
use std::os::unix::fs::FileExt;
163162

164-
use utils::{rand, tempfile};
163+
use vmm_sys_util::{rand, tempfile};
165164

166165
use super::*;
167166

src/seccompiler/Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ thiserror = "1.0.63"
2626

2727
utils = { path = "../utils" }
2828

29+
[dev-dependencies]
30+
vmm-sys-util = "0.12.1"
31+
2932
[features]
3033
tracing = ["log-instrument", "utils/tracing"]
3134

src/seccompiler/src/seccompiler_bin.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ mod tests {
214214
use std::path::PathBuf;
215215

216216
use bincode::Error as BincodeError;
217-
use utils::tempfile::TempFile;
217+
use vmm_sys_util::tempfile::TempFile;
218218

219219
use super::compiler::CompilationError as FilterFormatError;
220220
use super::{

src/snapshot-editor/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ log-instrument = { path = "../log-instrument", optional = true }
1919
semver = "1.0.23"
2020
thiserror = "1.0.63"
2121
vmm = { path = "../vmm" }
22+
vmm-sys-util = "0.12.1"
2223

2324
[target.'cfg(target_arch = "aarch64")'.dependencies]
2425
clap-num = "1.0.2"

0 commit comments

Comments
 (0)