tree-wide: cleanup manual map/flatten
found with clippy, best viewed with `-w` ;) Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
parent
8ff886773f
commit
540fca5c9e
|
@ -232,21 +232,18 @@ impl DataStore {
|
|||
wanted_files.insert(CLIENT_LOG_BLOB_NAME.to_string());
|
||||
manifest.files().iter().for_each(|item| { wanted_files.insert(item.filename.clone()); });
|
||||
|
||||
for item in proxmox_sys::fs::read_subdir(libc::AT_FDCWD, &full_path)? {
|
||||
if let Ok(item) = item {
|
||||
if let Some(file_type) = item.file_type() {
|
||||
if file_type != nix::dir::Type::File { continue; }
|
||||
}
|
||||
let file_name = item.file_name().to_bytes();
|
||||
if file_name == b"." || file_name == b".." { continue; };
|
||||
|
||||
if let Ok(name) = std::str::from_utf8(file_name) {
|
||||
if wanted_files.contains(name) { continue; }
|
||||
}
|
||||
println!("remove unused file {:?}", item.file_name());
|
||||
let dirfd = item.parent_fd();
|
||||
let _res = unsafe { libc::unlinkat(dirfd, item.file_name().as_ptr(), 0) };
|
||||
for item in proxmox_sys::fs::read_subdir(libc::AT_FDCWD, &full_path)?.flatten() {
|
||||
if let Some(file_type) = item.file_type() {
|
||||
if file_type != nix::dir::Type::File { continue; }
|
||||
}
|
||||
let file_name = item.file_name().to_bytes();
|
||||
if file_name == b"." || file_name == b".." { continue; };
|
||||
if let Ok(name) = std::str::from_utf8(file_name) {
|
||||
if wanted_files.contains(name) { continue; }
|
||||
}
|
||||
println!("remove unused file {:?}", item.file_name());
|
||||
let dirfd = item.parent_fd();
|
||||
let _res = unsafe { libc::unlinkat(dirfd, item.file_name().as_ptr(), 0) };
|
||||
}
|
||||
|
||||
Ok(())
|
||||
|
|
|
@ -365,13 +365,11 @@ fn unmap_from_backing(backing_file: &Path, loopdev: Option<&str>) -> Result<(),
|
|||
pub fn find_all_mappings() -> Result<impl Iterator<Item = (String, Option<String>)>, Error> {
|
||||
// get map of all /dev/loop mappings belonging to us
|
||||
let mut loopmap = HashMap::new();
|
||||
for ent in proxmox_sys::fs::scan_subdir(libc::AT_FDCWD, Path::new("/dev/"), &LOOPDEV_REGEX)? {
|
||||
if let Ok(ent) = ent {
|
||||
let loopdev = format!("/dev/{}", ent.file_name().to_string_lossy());
|
||||
if let Ok(file) = get_backing_file(&loopdev) {
|
||||
// insert filename only, strip RUN_DIR/
|
||||
loopmap.insert(file[RUN_DIR.len() + 1..].to_owned(), loopdev);
|
||||
}
|
||||
for ent in proxmox_sys::fs::scan_subdir(libc::AT_FDCWD, Path::new("/dev/"), &LOOPDEV_REGEX)?.flatten() {
|
||||
let loopdev = format!("/dev/{}", ent.file_name().to_string_lossy());
|
||||
if let Ok(file) = get_backing_file(&loopdev) {
|
||||
// insert filename only, strip RUN_DIR/
|
||||
loopmap.insert(file[RUN_DIR.len() + 1..].to_owned(), loopdev);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -158,34 +158,30 @@ fn list(
|
|||
}
|
||||
DirEntryAttribute::Directory { .. } => {
|
||||
// list on directory, return all contained files/dirs
|
||||
for f in read_subdir(libc::AT_FDCWD, &vm_path)? {
|
||||
if let Ok(f) = f {
|
||||
let name = f.file_name().to_bytes();
|
||||
let path = &Path::new(OsStr::from_bytes(name));
|
||||
if path.components().count() == 1 {
|
||||
// ignore '.' and '..'
|
||||
match path.components().next().unwrap() {
|
||||
std::path::Component::CurDir
|
||||
| std::path::Component::ParentDir => continue,
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
|
||||
let mut full_vm_path = PathBuf::new();
|
||||
full_vm_path.push(&vm_path);
|
||||
full_vm_path.push(path);
|
||||
let mut full_path = PathBuf::new();
|
||||
full_path.push(param_path_buf);
|
||||
full_path.push(path);
|
||||
|
||||
let entry = get_dir_entry(&full_vm_path);
|
||||
if let Ok(entry) = entry {
|
||||
res.push(ArchiveEntry::new(
|
||||
full_path.as_os_str().as_bytes(),
|
||||
Some(&entry),
|
||||
));
|
||||
for f in read_subdir(libc::AT_FDCWD, &vm_path)?.flatten() {
|
||||
let name = f.file_name().to_bytes();
|
||||
let path = &Path::new(OsStr::from_bytes(name));
|
||||
if path.components().count() == 1 {
|
||||
// ignore '.' and '..'
|
||||
match path.components().next().unwrap() {
|
||||
std::path::Component::CurDir
|
||||
| std::path::Component::ParentDir => continue,
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
let mut full_vm_path = PathBuf::new();
|
||||
full_vm_path.push(&vm_path);
|
||||
full_vm_path.push(path);
|
||||
let mut full_path = PathBuf::new();
|
||||
full_path.push(param_path_buf);
|
||||
full_path.push(path);
|
||||
let entry = get_dir_entry(&full_vm_path);
|
||||
if let Ok(entry) = entry {
|
||||
res.push(ArchiveEntry::new(
|
||||
full_path.as_os_str().as_bytes(),
|
||||
Some(&entry),
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
_ => unreachable!(),
|
||||
|
|
|
@ -246,10 +246,7 @@ impl BackupEnvironment {
|
|||
pub fn lookup_chunk(&self, digest: &[u8; 32]) -> Option<u32> {
|
||||
let state = self.state.lock().unwrap();
|
||||
|
||||
match state.known_chunks.get(digest) {
|
||||
Some(len) => Some(*len),
|
||||
None => None,
|
||||
}
|
||||
state.known_chunks.get(digest).map(|len| *len)
|
||||
}
|
||||
|
||||
/// Store the writer with an unique ID
|
||||
|
|
|
@ -134,11 +134,7 @@ fn get_syslog(
|
|||
mut rpcenv: &mut dyn RpcEnvironment,
|
||||
) -> Result<Value, Error> {
|
||||
|
||||
let service = if let Some(service) = param["service"].as_str() {
|
||||
Some(crate::api2::node::services::real_service_name(service))
|
||||
} else {
|
||||
None
|
||||
};
|
||||
let service = param["service"].as_str().map(|service| crate::api2::node::services::real_service_name(service));
|
||||
|
||||
let (count, lines) = dump_journal(
|
||||
param["start"].as_u64(),
|
||||
|
|
|
@ -982,21 +982,14 @@ pub fn create_file_system(disk: &Disk, fs_type: FileSystemType) -> Result<(), Er
|
|||
|
||||
/// Block device name completion helper
|
||||
pub fn complete_disk_name(_arg: &str, _param: &HashMap<String, String>) -> Vec<String> {
|
||||
let mut list = Vec::new();
|
||||
|
||||
let dir = match proxmox_sys::fs::scan_subdir(libc::AT_FDCWD, "/sys/block", &BLOCKDEVICE_NAME_REGEX) {
|
||||
Ok(dir) => dir,
|
||||
Err(_) => return list,
|
||||
Err(_) => return vec![],
|
||||
};
|
||||
|
||||
for item in dir {
|
||||
if let Ok(item) = item {
|
||||
let name = item.file_name().to_str().unwrap().to_string();
|
||||
list.push(name);
|
||||
}
|
||||
}
|
||||
|
||||
list
|
||||
dir.flatten().map(|item| {
|
||||
item.file_name().to_str().unwrap().to_string()
|
||||
}).collect()
|
||||
}
|
||||
|
||||
/// Read the FS UUID (parse blkid output)
|
||||
|
|
Loading…
Reference in New Issue