dissect.volume 3.11.dev3__tar.gz → 3.12.dev2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. dissect_volume-3.12.dev2/.gitattributes +4 -0
  2. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/PKG-INFO +1 -1
  3. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/dm/thin.py +4 -0
  4. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/lvm/metadata.py +6 -1
  5. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect.volume.egg-info/PKG-INFO +1 -1
  6. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect.volume.egg-info/SOURCES.txt +6 -4
  7. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/conftest.py +8 -3
  8. dissect_volume-3.12.dev2/tests/data/dm/dm-thin-empty-data.bin.gz +0 -0
  9. dissect_volume-3.12.dev2/tests/data/dm/dm-thin-empty-metadata.bin.gz +0 -0
  10. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/test_dm.py +21 -1
  11. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/test_lvm.py +10 -0
  12. dissect_volume-3.11.dev3/.gitattributes +0 -48
  13. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/COPYRIGHT +0 -0
  14. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/LICENSE +0 -0
  15. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/MANIFEST.in +0 -0
  16. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/README.md +0 -0
  17. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/__init__.py +0 -0
  18. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/ddf/__init__.py +0 -0
  19. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/ddf/c_ddf.py +0 -0
  20. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/ddf/ddf.py +0 -0
  21. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/disk/__init__.py +0 -0
  22. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/disk/disk.py +0 -0
  23. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/disk/partition.py +0 -0
  24. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/disk/schemes/__init__.py +0 -0
  25. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/disk/schemes/apm.py +0 -0
  26. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/disk/schemes/bsd.py +0 -0
  27. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/disk/schemes/gpt.py +0 -0
  28. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/disk/schemes/mbr.py +0 -0
  29. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/dm/__init__.py +0 -0
  30. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/dm/btree.py +0 -0
  31. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/dm/c_dm.py +0 -0
  32. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/exceptions.py +0 -0
  33. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/ldm.py +0 -0
  34. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/lvm/__init__.py +0 -0
  35. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/lvm/c_lvm2.py +0 -0
  36. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/lvm/lvm2.py +0 -0
  37. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/lvm/physical.py +0 -0
  38. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/md/__init__.py +0 -0
  39. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/md/c_md.py +0 -0
  40. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/md/md.py +0 -0
  41. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/raid/__init__.py +0 -0
  42. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/raid/raid.py +0 -0
  43. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/raid/stream.py +0 -0
  44. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect/volume/vss.py +0 -0
  45. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect.volume.egg-info/dependency_links.txt +0 -0
  46. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect.volume.egg-info/requires.txt +0 -0
  47. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/dissect.volume.egg-info/top_level.txt +0 -0
  48. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/pyproject.toml +0 -0
  49. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/setup.cfg +0 -0
  50. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/__init__.py +0 -0
  51. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/apm.bin +0 -0
  52. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/bsd.bin +0 -0
  53. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/bsd64.bin.gz +0 -0
  54. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid0-1.bin.gz +0 -0
  55. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid0-2.bin.gz +0 -0
  56. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid0-3.bin.gz +0 -0
  57. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid0-raid1-1.bin.gz +0 -0
  58. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid0-raid1-2.bin.gz +0 -0
  59. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid1-1.bin.gz +0 -0
  60. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid1-2.bin.gz +0 -0
  61. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid10-1.bin.gz +0 -0
  62. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid10-2.bin.gz +0 -0
  63. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid10-3.bin.gz +0 -0
  64. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid10-4.bin.gz +0 -0
  65. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid4-1.bin.gz +0 -0
  66. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid4-2.bin.gz +0 -0
  67. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid5-1.bin.gz +0 -0
  68. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid5-2.bin.gz +0 -0
  69. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid5-3.bin.gz +0 -0
  70. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid6-1.bin.gz +0 -0
  71. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid6-2.bin.gz +0 -0
  72. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid6-3.bin.gz +0 -0
  73. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid6-4.bin.gz +0 -0
  74. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/dm/dm-thin-data.bin.gz +0 -0
  75. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/dm/dm-thin-metadata.bin.gz +0 -0
  76. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/gpt.bin +0 -0
  77. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/gpt_4k.bin +0 -0
  78. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/gpt_esxi.bin +0 -0
  79. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/gpt_hybrid.bin +0 -0
  80. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/gpt_no_name_xff.bin +0 -0
  81. {dissect_volume-3.11.dev3/tests/data → dissect_volume-3.12.dev2/tests/data/lvm}/lvm-mirror-1.bin.gz +0 -0
  82. {dissect_volume-3.11.dev3/tests/data → dissect_volume-3.12.dev2/tests/data/lvm}/lvm-mirror-2.bin.gz +0 -0
  83. {dissect_volume-3.11.dev3/tests/data → dissect_volume-3.12.dev2/tests/data/lvm}/lvm-thin.bin.gz +0 -0
  84. {dissect_volume-3.11.dev3/tests/data → dissect_volume-3.12.dev2/tests/data/lvm}/lvm.bin.gz +0 -0
  85. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/mbr.bin +0 -0
  86. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-90-1.bin.gz +0 -0
  87. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-90-2.bin.gz +0 -0
  88. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-90-raid1-1.bin.gz +0 -0
  89. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-90-raid1-2.bin.gz +0 -0
  90. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-linear-1.bin.gz +0 -0
  91. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-linear-2.bin.gz +0 -0
  92. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid0-1.bin.gz +0 -0
  93. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid0-2.bin.gz +0 -0
  94. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid0-3.bin.gz +0 -0
  95. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid1-1.bin.gz +0 -0
  96. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid1-2.bin.gz +0 -0
  97. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid10-1.bin.gz +0 -0
  98. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid10-2.bin.gz +0 -0
  99. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid4-1.bin.gz +0 -0
  100. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid4-2.bin.gz +0 -0
  101. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid4-3.bin.gz +0 -0
  102. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid5-1.bin.gz +0 -0
  103. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid5-2.bin.gz +0 -0
  104. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid5-3.bin.gz +0 -0
  105. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid6-1.bin.gz +0 -0
  106. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid6-2.bin.gz +0 -0
  107. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid6-3.bin.gz +0 -0
  108. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/data/md/md-raid6-4.bin.gz +0 -0
  109. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/docs/Makefile +0 -0
  110. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/docs/conf.py +0 -0
  111. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/docs/index.rst +0 -0
  112. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/test_apm.py +0 -0
  113. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/test_bsd.py +0 -0
  114. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/test_ddf.py +0 -0
  115. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/test_gpt.py +0 -0
  116. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/test_mbr.py +0 -0
  117. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tests/test_md.py +0 -0
  118. {dissect_volume-3.11.dev3 → dissect_volume-3.12.dev2}/tox.ini +0 -0
@@ -0,0 +1,4 @@
1
+ tests/data/dm/* filter=lfs diff=lfs merge=lfs -text
2
+ tests/data/md/* filter=lfs diff=lfs merge=lfs -text
3
+ tests/data/ddf/* filter=lfs diff=lfs merge=lfs -text
4
+ tests/data/lvm/* filter=lfs diff=lfs merge=lfs -text
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dissect.volume
3
- Version: 3.11.dev3
3
+ Version: 3.12.dev2
4
4
  Summary: A Dissect module implementing a parser for different disk volume and partition systems, for example LVM2, GPT and MBR
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License: Affero General Public License v3
@@ -77,6 +77,10 @@ class ThinDevice(AlignedStream):
77
77
  while length > 0:
78
78
  block_info = data_mapping.lookup([self.device_id, block])
79
79
  if block_info is None:
80
+ remaining = length
81
+ if self.size is None or (remaining := self.size - offset) > 0:
82
+ return b"\x00" * min(length, remaining)
83
+
80
84
  break
81
85
 
82
86
  block_time = int.from_bytes(block_info, "little")
@@ -342,7 +342,12 @@ class StripedSegment(Segment):
342
342
  offset = 0
343
343
  for pv_name, extent_offset in self.stripes:
344
344
  if pv_name not in opened_pv:
345
- pv_fh = pv[pv_name].dev.open()
345
+ if (pv_dev := pv[pv_name].dev) is not None:
346
+ pv_fh = pv_dev.open()
347
+ else:
348
+ raise LVM2Error(
349
+ f"Physical volume not found: {pv_name} (id={pv[pv_name].id}, device={pv[pv_name].device})"
350
+ )
346
351
  opened_pv[pv_name] = pv_fh
347
352
  else:
348
353
  pv_fh = opened_pv[pv_name]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dissect.volume
3
- Version: 3.11.dev3
3
+ Version: 3.12.dev2
4
4
  Summary: A Dissect module implementing a parser for different disk volume and partition systems, for example LVM2, GPT and MBR
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License: Affero General Public License v3
@@ -58,10 +58,6 @@ tests/data/gpt_4k.bin
58
58
  tests/data/gpt_esxi.bin
59
59
  tests/data/gpt_hybrid.bin
60
60
  tests/data/gpt_no_name_xff.bin
61
- tests/data/lvm-mirror-1.bin.gz
62
- tests/data/lvm-mirror-2.bin.gz
63
- tests/data/lvm-thin.bin.gz
64
- tests/data/lvm.bin.gz
65
61
  tests/data/mbr.bin
66
62
  tests/data/ddf/ddf-raid0-1.bin.gz
67
63
  tests/data/ddf/ddf-raid0-2.bin.gz
@@ -84,7 +80,13 @@ tests/data/ddf/ddf-raid6-2.bin.gz
84
80
  tests/data/ddf/ddf-raid6-3.bin.gz
85
81
  tests/data/ddf/ddf-raid6-4.bin.gz
86
82
  tests/data/dm/dm-thin-data.bin.gz
83
+ tests/data/dm/dm-thin-empty-data.bin.gz
84
+ tests/data/dm/dm-thin-empty-metadata.bin.gz
87
85
  tests/data/dm/dm-thin-metadata.bin.gz
86
+ tests/data/lvm/lvm-mirror-1.bin.gz
87
+ tests/data/lvm/lvm-mirror-2.bin.gz
88
+ tests/data/lvm/lvm-thin.bin.gz
89
+ tests/data/lvm/lvm.bin.gz
88
90
  tests/data/md/md-90-1.bin.gz
89
91
  tests/data/md/md-90-2.bin.gz
90
92
  tests/data/md/md-90-raid1-1.bin.gz
@@ -27,17 +27,17 @@ def open_files_gz(names: list[str], mode: str = "rb") -> Iterator[list[gzip.Gzip
27
27
 
28
28
  @pytest.fixture
29
29
  def lvm() -> Iterator[BinaryIO]:
30
- yield from open_file_gz("data/lvm.bin.gz")
30
+ yield from open_file_gz("data/lvm/lvm.bin.gz")
31
31
 
32
32
 
33
33
  @pytest.fixture
34
34
  def lvm_thin() -> Iterator[BinaryIO]:
35
- yield from open_file_gz("data/lvm-thin.bin.gz")
35
+ yield from open_file_gz("data/lvm/lvm-thin.bin.gz")
36
36
 
37
37
 
38
38
  @pytest.fixture
39
39
  def lvm_mirror() -> Iterator[list[BinaryIO]]:
40
- yield from open_files_gz(["data/lvm-mirror-1.bin.gz", "data/lvm-mirror-2.bin.gz"])
40
+ yield from open_files_gz(["data/lvm/lvm-mirror-1.bin.gz", "data/lvm/lvm-mirror-2.bin.gz"])
41
41
 
42
42
 
43
43
  @pytest.fixture
@@ -90,6 +90,11 @@ def dm_thin() -> Iterator[list[BinaryIO]]:
90
90
  yield from open_files_gz(["data/dm/dm-thin-metadata.bin.gz", "data/dm/dm-thin-data.bin.gz"])
91
91
 
92
92
 
93
+ @pytest.fixture
94
+ def dm_thin_empty() -> Iterator[list[BinaryIO]]:
95
+ yield from open_files_gz(["data/dm/dm-thin-empty-metadata.bin.gz", "data/dm/dm-thin-empty-data.bin.gz"])
96
+
97
+
93
98
  @pytest.fixture
94
99
  def md_linear() -> Iterator[list[BinaryIO]]:
95
100
  yield from open_files_gz(["data/md/md-linear-1.bin.gz", "data/md/md-linear-2.bin.gz"])
@@ -22,4 +22,24 @@ def test_dm_thin(dm_thin: list[BinaryIO]) -> None:
22
22
 
23
23
  thin_no_size = pool.open(0)
24
24
  thin_no_size.seek((1024 * 1024 * 2) - 512)
25
- assert len(thin_no_size.read(1024)) == 512
25
+ assert len(thin_no_size.read(1024)) == 1024
26
+
27
+
28
+ def test_dm_thin_empty(dm_thin_empty: list[BinaryIO]) -> None:
29
+ metadata_fh, data_fh = dm_thin_empty
30
+ pool = ThinPool(metadata_fh, data_fh)
31
+
32
+ dev = pool.open(0)
33
+
34
+ assert dev.read(512) == b"\x00" * 512
35
+
36
+ dev.seek(512 * 1024)
37
+ assert dev.read(512) != b"\x00" * 512
38
+
39
+ # Far beyond the file boundary
40
+ dev.seek(2**64)
41
+ assert dev.read(512) == b"\x00" * 512
42
+
43
+ dev = pool.open(0, 512)
44
+ assert dev.read(512) == b"\x00" * 512
45
+ assert dev.read(512) == b""
@@ -1,4 +1,5 @@
1
1
  import io
2
+ import re
2
3
  from typing import BinaryIO
3
4
 
4
5
  import pytest
@@ -33,6 +34,15 @@ def test_lvm(lvm: BinaryIO) -> None:
33
34
  assert fh.read(1024) == b"\xde\xad\xbe\xef" * 256
34
35
  assert fh.read(1024) == b"\x00" * 1024
35
36
 
37
+ vg.pv[0]._dev = None
38
+ with pytest.raises(
39
+ LVM2Error,
40
+ match=re.escape(
41
+ "Physical volume not found: pv0 (id=2Svcy0-cRH2-3Xrz-87Fv-zNUI-9CoI-Ycoyql, device=/dev/loop1)"
42
+ ),
43
+ ):
44
+ fh = lv.open()
45
+
36
46
 
37
47
  def test_lvm_invalid() -> None:
38
48
  buf = io.BytesIO(4096 * b"\x00")
@@ -1,48 +0,0 @@
1
- tests/data/dm/dm-thin-data.bin.gz filter=lfs diff=lfs merge=lfs -text
2
- tests/data/dm/dm-thin-metadata.bin.gz filter=lfs diff=lfs merge=lfs -text
3
- tests/data/md/md-linear-1.bin.gz filter=lfs diff=lfs merge=lfs -text
4
- tests/data/md/md-linear-2.bin.gz filter=lfs diff=lfs merge=lfs -text
5
- tests/data/md/md-raid0-1.bin.gz filter=lfs diff=lfs merge=lfs -text
6
- tests/data/md/md-raid0-2.bin.gz filter=lfs diff=lfs merge=lfs -text
7
- tests/data/md/md-raid0-3.bin.gz filter=lfs diff=lfs merge=lfs -text
8
- tests/data/md/md-raid1-1.bin.gz filter=lfs diff=lfs merge=lfs -text
9
- tests/data/md/md-raid1-2.bin.gz filter=lfs diff=lfs merge=lfs -text
10
- tests/data/md/md-raid4-1.bin.gz filter=lfs diff=lfs merge=lfs -text
11
- tests/data/md/md-raid4-2.bin.gz filter=lfs diff=lfs merge=lfs -text
12
- tests/data/md/md-raid4-3.bin.gz filter=lfs diff=lfs merge=lfs -text
13
- tests/data/md/md-raid5-1.bin.gz filter=lfs diff=lfs merge=lfs -text
14
- tests/data/md/md-raid5-2.bin.gz filter=lfs diff=lfs merge=lfs -text
15
- tests/data/md/md-raid5-3.bin.gz filter=lfs diff=lfs merge=lfs -text
16
- tests/data/md/md-raid6-1.bin.gz filter=lfs diff=lfs merge=lfs -text
17
- tests/data/md/md-raid6-2.bin.gz filter=lfs diff=lfs merge=lfs -text
18
- tests/data/md/md-raid6-3.bin.gz filter=lfs diff=lfs merge=lfs -text
19
- tests/data/md/md-raid6-4.bin.gz filter=lfs diff=lfs merge=lfs -text
20
- tests/data/md/md-raid10-1.bin.gz filter=lfs diff=lfs merge=lfs -text
21
- tests/data/md/md-raid10-2.bin.gz filter=lfs diff=lfs merge=lfs -text
22
- tests/data/md/md-90-1.bin.gz filter=lfs diff=lfs merge=lfs -text
23
- tests/data/md/md-90-2.bin.gz filter=lfs diff=lfs merge=lfs -text
24
- tests/data/md/md-90-raid1-1.bin.gz filter=lfs diff=lfs merge=lfs -text
25
- tests/data/md/md-90-raid1-2.bin.gz filter=lfs diff=lfs merge=lfs -text
26
- tests/data/ddf/ddf-raid0-1.bin.gz filter=lfs diff=lfs merge=lfs -text
27
- tests/data/ddf/ddf-raid0-2.bin.gz filter=lfs diff=lfs merge=lfs -text
28
- tests/data/ddf/ddf-raid0-3.bin.gz filter=lfs diff=lfs merge=lfs -text
29
- tests/data/ddf/ddf-raid0-raid1-1.bin.gz filter=lfs diff=lfs merge=lfs -text
30
- tests/data/ddf/ddf-raid0-raid1-2.bin.gz filter=lfs diff=lfs merge=lfs -text
31
- tests/data/ddf/ddf-raid1-1.bin.gz filter=lfs diff=lfs merge=lfs -text
32
- tests/data/ddf/ddf-raid1-2.bin.gz filter=lfs diff=lfs merge=lfs -text
33
- tests/data/ddf/ddf-raid4-1.bin.gz filter=lfs diff=lfs merge=lfs -text
34
- tests/data/ddf/ddf-raid4-2.bin.gz filter=lfs diff=lfs merge=lfs -text
35
- tests/data/ddf/ddf-raid5-1.bin.gz filter=lfs diff=lfs merge=lfs -text
36
- tests/data/ddf/ddf-raid5-2.bin.gz filter=lfs diff=lfs merge=lfs -text
37
- tests/data/ddf/ddf-raid5-3.bin.gz filter=lfs diff=lfs merge=lfs -text
38
- tests/data/ddf/ddf-raid6-1.bin.gz filter=lfs diff=lfs merge=lfs -text
39
- tests/data/ddf/ddf-raid6-2.bin.gz filter=lfs diff=lfs merge=lfs -text
40
- tests/data/ddf/ddf-raid6-3.bin.gz filter=lfs diff=lfs merge=lfs -text
41
- tests/data/ddf/ddf-raid6-4.bin.gz filter=lfs diff=lfs merge=lfs -text
42
- tests/data/ddf/ddf-raid10-1.bin.gz filter=lfs diff=lfs merge=lfs -text
43
- tests/data/ddf/ddf-raid10-2.bin.gz filter=lfs diff=lfs merge=lfs -text
44
- tests/data/ddf/ddf-raid10-3.bin.gz filter=lfs diff=lfs merge=lfs -text
45
- tests/data/ddf/ddf-raid10-4.bin.gz filter=lfs diff=lfs merge=lfs -text
46
- tests/data/lvm-thin.bin.gz filter=lfs diff=lfs merge=lfs -text
47
- tests/data/lvm-mirror-2.bin.gz filter=lfs diff=lfs merge=lfs -text
48
- tests/data/lvm-mirror-1.bin.gz filter=lfs diff=lfs merge=lfs -text