dissect.archive.xva
¶
Module Contents¶
Classes¶
Attributes¶
- dissect.archive.xva.BLOCK_SIZE = 1048576¶
- class dissect.archive.xva.XVA(fh)¶
XVA reader.
XenCenter export format. Basically a tar file with “blocks” of 1MB.
- tar¶
- property ova¶
- disks()¶
- open(ref, verify=False)¶
- class dissect.archive.xva.XVAStream(xva, ref, size, verify=False)¶
Bases:
dissect.util.stream.AlignedStream
XVA stream.
XenServer usually just streams an XVA file right into an output file, so our use-case requires a bit more trickery. We generally don’t stream directly into an output file, but try to create a file-like object for other code to use.
The numbers for the block files (weirdly) don’t represent offsets. It’s possible for a block file to be 0 sized, in which case you should “add” that block to the stream, and continue on to the next. The next block might have a number + 1 of what your current offset is, but it will still contain the data for that current offset. For this reason we build a lookup list with offsets.
- xva¶
- ref¶
- verify = False¶