pub struct MetaObject {Show 18 fields
pub version_id: Option<Uuid>,
pub data_dir: Option<Uuid>,
pub erasure_algorithm: ErasureAlgo,
pub erasure_m: usize,
pub erasure_n: usize,
pub erasure_block_size: usize,
pub erasure_index: usize,
pub erasure_dist: Vec<u8>,
pub bitrot_checksum_algo: ChecksumAlgo,
pub part_numbers: Vec<usize>,
pub part_etags: Vec<String>,
pub part_sizes: Vec<usize>,
pub part_actual_sizes: Vec<i64>,
pub part_indices: Vec<Bytes>,
pub size: i64,
pub mod_time: Option<OffsetDateTime>,
pub meta_sys: HashMap<String, Vec<u8>>,
pub meta_user: HashMap<String, String>,
}Fields§
§version_id: Option<Uuid>§data_dir: Option<Uuid>§erasure_algorithm: ErasureAlgo§erasure_m: usize§erasure_n: usize§erasure_block_size: usize§erasure_index: usize§erasure_dist: Vec<u8>§bitrot_checksum_algo: ChecksumAlgo§part_numbers: Vec<usize>§part_sizes: Vec<usize>§part_actual_sizes: Vec<i64>§part_indices: Vec<Bytes>§size: i64§mod_time: Option<OffsetDateTime>§meta_sys: HashMap<String, Vec<u8>>§meta_user: HashMap<String, String>Implementations§
Source§impl MetaObject
impl MetaObject
pub fn unmarshal_msg(&mut self, buf: &[u8]) -> Result<u64>
pub fn marshal_msg(&self) -> Result<Vec<u8>>
Sourcepub fn get_signature(&self) -> [u8; 4]
pub fn get_signature(&self) -> [u8; 4]
Compute this object version’s header signature, mirroring MinIO’s
xlMetaV2Object.Signature. See FileMetaVersion::get_signature for
why divergence detection requires covering every body field.
pub fn encode_to<W: Write>(&self, wr: &mut W) -> Result<()>
pub fn decode_from<R: Read>(&mut self, rd: &mut R) -> Result<()>
pub fn into_fileinfo( &self, volume: &str, path: &str, all_parts: bool, ) -> Result<FileInfo>
pub fn set_transition(&mut self, fi: &FileInfo)
pub fn remove_restore_hdrs(&mut self)
pub fn uses_data_dir(&self) -> bool
pub fn inlinedata(&self) -> bool
pub fn reset_inline_data(&mut self)
Sourcepub fn remove_restore_headers(&mut self)
pub fn remove_restore_headers(&mut self)
Remove restore headers
Sourcepub fn init_free_version(
&self,
fi: &FileInfo,
) -> Result<(FileMetaVersion, bool)>
pub fn init_free_version( &self, fi: &FileInfo, ) -> Result<(FileMetaVersion, bool)>
Builds the free-version cleanup record appended when a transitioned version is removed from xl.meta. The record keeps the remote tier identity so the lifecycle worker can issue the idempotent remote delete and only then remove the record; until then the recovery scan and the usage scanner keep re-enqueueing it. S3 and lifecycle deletes also persist a committed tier-journal entry for the same remote delete. The decommission path copies this record unchanged before source cleanup, including when the transition state is unknown — see docs/architecture/decommission-compatibility.md.