 4f193168af
			
		
	
	
		4f193168af
		
	
	
	
	
		
			
			These cases are fixed by previous patches around block_status and is_allocated. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Alberto Garcia <berto@igalia.com> Message-id: 20200924194003.22080-6-vsementsov@virtuozzo.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
		
			
				
	
	
		
			346 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			346 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| == Commit tests ==
 | |
| Formatting 'TEST_DIR/PID-base', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=2097152 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-mid', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1048576 backing_file=TEST_DIR/PID-base backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-top', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=2097152 backing_file=TEST_DIR/PID-mid backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| wrote 2097152/2097152 bytes at offset 0
 | |
| 2 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| === Check visible data ===
 | |
| read 1048576/1048576 bytes at offset 0
 | |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| read 1048576/1048576 bytes at offset 1048576
 | |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| === Checking allocation status ===
 | |
| 1048576/1048576 bytes allocated at offset 0 bytes
 | |
| 1048576/1048576 bytes allocated at offset 1 MiB
 | |
| 
 | |
| 0/1048576 bytes allocated at offset 0 bytes
 | |
| 0/0 bytes allocated at offset 1 MiB
 | |
| 
 | |
| 0/1048576 bytes allocated at offset 0 bytes
 | |
| 0/1048576 bytes allocated at offset 1 MiB
 | |
| 
 | |
| === Checking map ===
 | |
| [{ "start": 0, "length": 2097152, "depth": 0, "zero": false, "data": true, "offset": 327680}]
 | |
| 
 | |
| Offset          Length          Mapped to       File
 | |
| 0               0x200000        0x50000         TEST_DIR/PID-base
 | |
| 
 | |
| [{ "start": 0, "length": 1048576, "depth": 1, "zero": false, "data": true, "offset": 327680}]
 | |
| 
 | |
| Offset          Length          Mapped to       File
 | |
| 0               0x100000        0x50000         TEST_DIR/PID-base
 | |
| 
 | |
| [{ "start": 0, "length": 1048576, "depth": 2, "zero": false, "data": true, "offset": 327680},
 | |
| { "start": 1048576, "length": 1048576, "depth": 0, "zero": true, "data": false}]
 | |
| 
 | |
| Offset          Length          Mapped to       File
 | |
| 0               0x100000        0x50000         TEST_DIR/PID-base
 | |
| 
 | |
| === Testing qemu-img commit (top -> mid) ===
 | |
| Image committed.
 | |
| 
 | |
| image: TEST_IMG
 | |
| file format: IMGFMT
 | |
| virtual size: 2 MiB (2097152 bytes)
 | |
| cluster_size: 65536
 | |
| backing file: TEST_DIR/PID-base
 | |
| backing file format: IMGFMT
 | |
| Format specific information:
 | |
|     compat: 1.1
 | |
|     compression type: zlib
 | |
|     lazy refcounts: false
 | |
|     refcount bits: 16
 | |
|     corrupt: false
 | |
|     extended l2: false
 | |
| 
 | |
| read 1048576/1048576 bytes at offset 0
 | |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| read 1048576/1048576 bytes at offset 1048576
 | |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| === Testing HMP commit (top -> mid) ===
 | |
| Formatting 'TEST_DIR/PID-base', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=2097152 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-mid', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1048576 backing_file=TEST_DIR/PID-base backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-top', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=2097152 backing_file=TEST_DIR/PID-mid backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| wrote 2097152/2097152 bytes at offset 0
 | |
| 2 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| {"execute": "human-monitor-command", "arguments": {"command-line": "commit drive0"}}
 | |
| {"return": ""}
 | |
| image: TEST_IMG
 | |
| file format: IMGFMT
 | |
| virtual size: 2 MiB (2097152 bytes)
 | |
| cluster_size: 65536
 | |
| backing file: TEST_DIR/PID-base
 | |
| backing file format: IMGFMT
 | |
| Format specific information:
 | |
|     compat: 1.1
 | |
|     compression type: zlib
 | |
|     lazy refcounts: false
 | |
|     refcount bits: 16
 | |
|     corrupt: false
 | |
|     extended l2: false
 | |
| 
 | |
| read 1048576/1048576 bytes at offset 0
 | |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| read 1048576/1048576 bytes at offset 1048576
 | |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| === Testing QMP active commit (top -> mid) ===
 | |
| Formatting 'TEST_DIR/PID-base', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=2097152 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-mid', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1048576 backing_file=TEST_DIR/PID-base backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-top', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=2097152 backing_file=TEST_DIR/PID-mid backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| wrote 2097152/2097152 bytes at offset 0
 | |
| 2 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| {"execute": "block-commit", "arguments": {"auto-dismiss": false, "base-node": "mid", "device": "top", "job-id": "job0"}}
 | |
| {"return": {}}
 | |
| {"execute": "job-complete", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| {"data": {"device": "job0", "len": 0, "offset": 0, "speed": 0, "type": "commit"}, "event": "BLOCK_JOB_READY", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}}
 | |
| {"data": {"device": "job0", "len": 0, "offset": 0, "speed": 0, "type": "commit"}, "event": "BLOCK_JOB_COMPLETED", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}}
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| image: TEST_IMG
 | |
| file format: IMGFMT
 | |
| virtual size: 2 MiB (2097152 bytes)
 | |
| cluster_size: 65536
 | |
| backing file: TEST_DIR/PID-base
 | |
| backing file format: IMGFMT
 | |
| Format specific information:
 | |
|     compat: 1.1
 | |
|     compression type: zlib
 | |
|     lazy refcounts: false
 | |
|     refcount bits: 16
 | |
|     corrupt: false
 | |
|     extended l2: false
 | |
| 
 | |
| read 1048576/1048576 bytes at offset 0
 | |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| read 1048576/1048576 bytes at offset 1048576
 | |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| === Testing qemu-img commit (top -> base) ===
 | |
| Formatting 'TEST_DIR/PID-base', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=2097152 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-mid', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1048576 backing_file=TEST_DIR/PID-base backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-top', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=2097152 backing_file=TEST_DIR/PID-mid backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| wrote 2097152/2097152 bytes at offset 0
 | |
| 2 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| Image committed.
 | |
| 
 | |
| image: TEST_IMG
 | |
| file format: IMGFMT
 | |
| virtual size: 2 MiB (2097152 bytes)
 | |
| cluster_size: 65536
 | |
| Format specific information:
 | |
|     compat: 1.1
 | |
|     compression type: zlib
 | |
|     lazy refcounts: false
 | |
|     refcount bits: 16
 | |
|     corrupt: false
 | |
|     extended l2: false
 | |
| 
 | |
| read 1048576/1048576 bytes at offset 0
 | |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| read 1048576/1048576 bytes at offset 1048576
 | |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| === Testing QMP active commit (top -> base) ===
 | |
| Formatting 'TEST_DIR/PID-base', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=2097152 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-mid', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1048576 backing_file=TEST_DIR/PID-base backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-top', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=2097152 backing_file=TEST_DIR/PID-mid backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| wrote 2097152/2097152 bytes at offset 0
 | |
| 2 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| {"execute": "block-commit", "arguments": {"auto-dismiss": false, "base-node": "base", "device": "top", "job-id": "job0"}}
 | |
| {"return": {}}
 | |
| {"execute": "job-complete", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| {"data": {"device": "job0", "len": 1048576, "offset": 1048576, "speed": 0, "type": "commit"}, "event": "BLOCK_JOB_READY", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}}
 | |
| {"data": {"device": "job0", "len": 1048576, "offset": 1048576, "speed": 0, "type": "commit"}, "event": "BLOCK_JOB_COMPLETED", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}}
 | |
| {"execute": "job-dismiss", "arguments": {"id": "job0"}}
 | |
| {"return": {}}
 | |
| image: TEST_IMG
 | |
| file format: IMGFMT
 | |
| virtual size: 1 MiB (1048576 bytes)
 | |
| cluster_size: 65536
 | |
| backing file: TEST_DIR/PID-base
 | |
| backing file format: IMGFMT
 | |
| Format specific information:
 | |
|     compat: 1.1
 | |
|     compression type: zlib
 | |
|     lazy refcounts: false
 | |
|     refcount bits: 16
 | |
|     corrupt: false
 | |
|     extended l2: false
 | |
| 
 | |
| read 1048576/1048576 bytes at offset 0
 | |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| read 1048576/1048576 bytes at offset 1048576
 | |
| 1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| == Resize tests ==
 | |
| === preallocation=off ===
 | |
| Formatting 'TEST_DIR/PID-base', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=6442450944 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-top', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1073741824 backing_file=TEST_DIR/PID-base backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| wrote 65536/65536 bytes at offset 5368709120
 | |
| 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| Image resized.
 | |
| 
 | |
| read 65536/65536 bytes at offset 5368709120
 | |
| 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| 1 GiB (0x40000000) bytes not allocated at offset 0 bytes (0x0)
 | |
| 7 GiB (0x1c0000000) bytes     allocated at offset 1 GiB (0x40000000)
 | |
| 
 | |
| [{ "start": 0, "length": 1073741824, "depth": 1, "zero": true, "data": false},
 | |
| { "start": 1073741824, "length": 7516192768, "depth": 0, "zero": true, "data": false}]
 | |
| 
 | |
| === preallocation=metadata ===
 | |
| Formatting 'TEST_DIR/PID-base', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=34359738368 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-top', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=32212254720 backing_file=TEST_DIR/PID-base backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| wrote 65536/65536 bytes at offset 33285996544
 | |
| 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| Image resized.
 | |
| 
 | |
| read 65536/65536 bytes at offset 33285996544
 | |
| 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| 30 GiB (0x780000000) bytes not allocated at offset 0 bytes (0x0)
 | |
| 3 GiB (0xc0000000) bytes     allocated at offset 30 GiB (0x780000000)
 | |
| 
 | |
| [{ "start": 0, "length": 32212254720, "depth": 1, "zero": true, "data": false},
 | |
| { "start": 32212254720, "length": 536870912, "depth": 0, "zero": true, "data": false, "offset": 327680},
 | |
| { "start": 32749125632, "length": 536870912, "depth": 0, "zero": true, "data": false, "offset": 537264128},
 | |
| { "start": 33285996544, "length": 536870912, "depth": 0, "zero": true, "data": false, "offset": 1074200576},
 | |
| { "start": 33822867456, "length": 536870912, "depth": 0, "zero": true, "data": false, "offset": 1611137024},
 | |
| { "start": 34359738368, "length": 536870912, "depth": 0, "zero": true, "data": false, "offset": 2148139008},
 | |
| { "start": 34896609280, "length": 536870912, "depth": 0, "zero": true, "data": false, "offset": 2685075456}]
 | |
| 
 | |
| === preallocation=falloc ===
 | |
| Formatting 'TEST_DIR/PID-base', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=10485760 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-top', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=5242880 backing_file=TEST_DIR/PID-base backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| wrote 65536/65536 bytes at offset 9437184
 | |
| 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| Image resized.
 | |
| 
 | |
| read 65536/65536 bytes at offset 9437184
 | |
| 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| 5 MiB (0x500000) bytes not allocated at offset 0 bytes (0x0)
 | |
| 10 MiB (0xa00000) bytes     allocated at offset 5 MiB (0x500000)
 | |
| 
 | |
| [{ "start": 0, "length": 5242880, "depth": 1, "zero": true, "data": false},
 | |
| { "start": 5242880, "length": 10485760, "depth": 0, "zero": false, "data": true, "offset": 327680}]
 | |
| 
 | |
| === preallocation=full ===
 | |
| Formatting 'TEST_DIR/PID-base', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=16777216 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-top', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=8388608 backing_file=TEST_DIR/PID-base backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| wrote 65536/65536 bytes at offset 11534336
 | |
| 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| Image resized.
 | |
| 
 | |
| read 65536/65536 bytes at offset 11534336
 | |
| 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| 8 MiB (0x800000) bytes not allocated at offset 0 bytes (0x0)
 | |
| 4 MiB (0x400000) bytes     allocated at offset 8 MiB (0x800000)
 | |
| 
 | |
| [{ "start": 0, "length": 8388608, "depth": 1, "zero": true, "data": false},
 | |
| { "start": 8388608, "length": 4194304, "depth": 0, "zero": false, "data": true, "offset": 327680}]
 | |
| 
 | |
| === preallocation=off ===
 | |
| Formatting 'TEST_DIR/PID-base', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=393216 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-top', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=259072 backing_file=TEST_DIR/PID-base backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| wrote 65536/65536 bytes at offset 259072
 | |
| 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| Image resized.
 | |
| 
 | |
| read 65536/65536 bytes at offset 259072
 | |
| 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| 192 KiB (0x30000) bytes not allocated at offset 0 bytes (0x0)
 | |
| 320 KiB (0x50000) bytes     allocated at offset 192 KiB (0x30000)
 | |
| 
 | |
| [{ "start": 0, "length": 196608, "depth": 1, "zero": true, "data": false},
 | |
| { "start": 196608, "length": 65536, "depth": 0, "zero": false, "data": true, "offset": 327680},
 | |
| { "start": 262144, "length": 262144, "depth": 0, "zero": true, "data": false}]
 | |
| 
 | |
| === preallocation=off ===
 | |
| Formatting 'TEST_DIR/PID-base', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=409600 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-top', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=262144 backing_file=TEST_DIR/PID-base backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| wrote 65536/65536 bytes at offset 344064
 | |
| 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| Image resized.
 | |
| 
 | |
| read 65536/65536 bytes at offset 344064
 | |
| 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| 256 KiB (0x40000) bytes not allocated at offset 0 bytes (0x0)
 | |
| 256 KiB (0x40000) bytes     allocated at offset 256 KiB (0x40000)
 | |
| 
 | |
| [{ "start": 0, "length": 262144, "depth": 1, "zero": true, "data": false},
 | |
| { "start": 262144, "length": 262144, "depth": 0, "zero": true, "data": false}]
 | |
| 
 | |
| === preallocation=off ===
 | |
| Formatting 'TEST_DIR/PID-base', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=524288 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| Formatting 'TEST_DIR/PID-top', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=262144 backing_file=TEST_DIR/PID-base backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| wrote 65536/65536 bytes at offset 446464
 | |
| 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| Image resized.
 | |
| 
 | |
| read 65536/65536 bytes at offset 446464
 | |
| 64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
 | |
| 
 | |
| 256 KiB (0x40000) bytes not allocated at offset 0 bytes (0x0)
 | |
| 244 KiB (0x3d000) bytes     allocated at offset 256 KiB (0x40000)
 | |
| 
 | |
| [{ "start": 0, "length": 262144, "depth": 1, "zero": true, "data": false},
 | |
| { "start": 262144, "length": 249856, "depth": 0, "zero": true, "data": false}]
 | |
| 
 |