1234567891011121314151617181920212223 |
- use std::ffi::{CString};
- use nix::libc::swapon;
- use crate::log::logger;
- pub fn swap_on(dev: &str) {
- let cstr_res = CString::new(dev.clone());
- let cstr = match cstr_res {
- Ok(v) => v,
- Err(err) => {
- logger().warn("swap", format!("failed convert dev path '{}' to CString: {:?}", dev, err).as_str());
- return;
- }
- };
- let ret = unsafe {
- swapon(cstr.as_ptr(),0)
- };
- if ret != 0 {
- let eno = nix::errno::from_i32(ret);
- logger().warn("swap", format!("failed turn on swap'{}': {:?}", dev, eno).as_str());
- }else{
- logger().info("swap", format!("turn on swap '{}' ok.", dev).as_str());
- }
- }
|