aya: impl From<obj::InvalidMapTypeError> for MapTypeError

reviewable/pr629/r10
Andrew Werner 2 years ago
parent 6e9aba55fe
commit 725719b962

@ -626,12 +626,8 @@ impl<'a> BpfLoader<'a> {
}
fn parse_map(data: (String, MapData)) -> Result<(String, Map), BpfError> {
let name = data.0;
let map = data.1;
let map_type =
bpf_map_type::try_from(map.obj.map_type()).map_err(|e| MapError::InvalidMapType {
map_type: e.map_type,
})?;
let (name, map) = data;
let map_type = bpf_map_type::try_from(map.obj.map_type()).map_err(MapError::from)?;
let map = match map_type {
BPF_MAP_TYPE_ARRAY => Ok(Map::Array(map)),
BPF_MAP_TYPE_PERCPU_ARRAY => Ok(Map::PerCpuArray(map)),

@ -50,6 +50,7 @@ use std::{
use crate::util::KernelVersion;
use libc::{getrlimit, rlimit, RLIMIT_MEMLOCK, RLIM_INFINITY};
use log::warn;
use obj::maps::InvalidMapTypeError;
use thiserror::Error;
use crate::{
@ -185,6 +186,13 @@ pub enum MapError {
},
}
impl From<InvalidMapTypeError> for MapError {
fn from(e: InvalidMapTypeError) -> Self {
let InvalidMapTypeError { map_type } = e;
MapError::InvalidMapType { map_type }
}
}
/// A map file descriptor.
pub struct MapFd(RawFd);

Loading…
Cancel
Save