Difference between revisions of "Ploop/format"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
(created)
 
(fix a link, fix a typo; add a note about N/M)
Line 3: Line 3:
 
* Image consists of cluster blocks (default cluster block size is 1 MB).
 
* Image consists of cluster blocks (default cluster block size is 1 MB).
 
* First there are some cluster blocks with BAT (Block Allocation Table), then there are some cluster blocks with data.
 
* First there are some cluster blocks with BAT (Block Allocation Table), then there are some cluster blocks with data.
* First 64 bytes of the first cluster blocks is a header, described at [http://git.openvz.org/?p=ploop;a=blob;f=include/ploop1_image.h ploop1_image.h]
+
* First 64 bytes of the first cluster block is a header, described in [https://src.openvz.org/projects/OVZL/repos/ploop/browse/include/ploop1_image.h ploop1_image.h]
 
* The rest of BAT is just an array of 4 byte slots.
 
* The rest of BAT is just an array of 4 byte slots.
* If a slot N contains value M, then a request to a cluster-block N of a /dev/ploopXXX device is redirected to a cluster-block M in an image file.
+
* If a slot N contains value M, then a request to a cluster-block N of a /dev/ploopXXX device is redirected to a cluster-block M in an image file. N is counted from 0, while M is counted from 1 (0 means block is not yet allocated).
  
 
For the rest of the story, see sources.
 
For the rest of the story, see sources.
  
 
[[Category: Storage]]
 
[[Category: Storage]]

Revision as of 01:14, 22 December 2015

A ploop image file format is pretty simple.

  • Image consists of cluster blocks (default cluster block size is 1 MB).
  • First there are some cluster blocks with BAT (Block Allocation Table), then there are some cluster blocks with data.
  • First 64 bytes of the first cluster block is a header, described in ploop1_image.h
  • The rest of BAT is just an array of 4 byte slots.
  • If a slot N contains value M, then a request to a cluster-block N of a /dev/ploopXXX device is redirected to a cluster-block M in an image file. N is counted from 0, while M is counted from 1 (0 means block is not yet allocated).

For the rest of the story, see sources.