Commits a side metadata bulk copy operation
(set the bits to the corresponding bits of another metadata).
Panics if the metadata spec is not valid.
Commits a side metadata bulk set operation (set the related bits to all 1s).
Panics if the metadata spec is not valid.
Commits a side metadata bulk zero operation.
Panics if the metadata spec is not valid.
Checks whether a slice of global specifications fit within the memory limits and don’t overlap.
Checks whether the input global specifications fit within the current upper bound for all global metadata (limited by metadata::constants::LOG_GLOBAL_SIDE_METADATA_WORST_CASE_RATIO
).
Ensures a side metadata load operation returns the correct side metadata content.
Panics if:
1 - the metadata spec is not valid,
2 - data address is not valid,
3 - the loaded side metadata content is not equal to the correct content.
(For 64-bits targets) Checks whether the input local specifications fit within the current upper bound for each local metadata (limited for each local metadata by metadata::constants::LOG_LOCAL_SIDE_METADATA_WORST_CASE_RATIO
).
This verifies two things:
(For contiguous metadata) Checks whether two input specifications overlap, considering their offsets and maximum size.
Commits a side metadata store operation.
Panics if:
1 - the loaded side metadata content is not equal to the correct content.
Commits an update operation and ensures it returns the correct old side metadata content.
Panics if:
1 - the metadata spec is not valid,
2 - the old side metadata content is not equal to the correct old content.