dissect.volume 3.12.dev1__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.12.dev1 → dissect_volume-3.12.dev2}/PKG-INFO +1 -1
  3. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/dm/thin.py +4 -0
  4. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect.volume.egg-info/PKG-INFO +1 -1
  5. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect.volume.egg-info/SOURCES.txt +2 -0
  6. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/conftest.py +5 -0
  7. dissect_volume-3.12.dev2/tests/data/dm/dm-thin-empty-data.bin.gz +0 -0
  8. dissect_volume-3.12.dev2/tests/data/dm/dm-thin-empty-metadata.bin.gz +0 -0
  9. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/test_dm.py +21 -1
  10. dissect_volume-3.12.dev1/.gitattributes +0 -46
  11. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/COPYRIGHT +0 -0
  12. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/LICENSE +0 -0
  13. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/MANIFEST.in +0 -0
  14. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/README.md +0 -0
  15. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/__init__.py +0 -0
  16. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/ddf/__init__.py +0 -0
  17. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/ddf/c_ddf.py +0 -0
  18. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/ddf/ddf.py +0 -0
  19. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/disk/__init__.py +0 -0
  20. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/disk/disk.py +0 -0
  21. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/disk/partition.py +0 -0
  22. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/disk/schemes/__init__.py +0 -0
  23. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/disk/schemes/apm.py +0 -0
  24. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/disk/schemes/bsd.py +0 -0
  25. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/disk/schemes/gpt.py +0 -0
  26. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/disk/schemes/mbr.py +0 -0
  27. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/dm/__init__.py +0 -0
  28. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/dm/btree.py +0 -0
  29. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/dm/c_dm.py +0 -0
  30. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/exceptions.py +0 -0
  31. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/ldm.py +0 -0
  32. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/lvm/__init__.py +0 -0
  33. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/lvm/c_lvm2.py +0 -0
  34. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/lvm/lvm2.py +0 -0
  35. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/lvm/metadata.py +0 -0
  36. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/lvm/physical.py +0 -0
  37. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/md/__init__.py +0 -0
  38. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/md/c_md.py +0 -0
  39. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/md/md.py +0 -0
  40. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/raid/__init__.py +0 -0
  41. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/raid/raid.py +0 -0
  42. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/raid/stream.py +0 -0
  43. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect/volume/vss.py +0 -0
  44. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect.volume.egg-info/dependency_links.txt +0 -0
  45. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect.volume.egg-info/requires.txt +0 -0
  46. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/dissect.volume.egg-info/top_level.txt +0 -0
  47. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/pyproject.toml +0 -0
  48. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/setup.cfg +0 -0
  49. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/__init__.py +0 -0
  50. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/apm.bin +0 -0
  51. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/bsd.bin +0 -0
  52. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/bsd64.bin.gz +0 -0
  53. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid0-1.bin.gz +0 -0
  54. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid0-2.bin.gz +0 -0
  55. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid0-3.bin.gz +0 -0
  56. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid0-raid1-1.bin.gz +0 -0
  57. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid0-raid1-2.bin.gz +0 -0
  58. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid1-1.bin.gz +0 -0
  59. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid1-2.bin.gz +0 -0
  60. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid10-1.bin.gz +0 -0
  61. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid10-2.bin.gz +0 -0
  62. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid10-3.bin.gz +0 -0
  63. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid10-4.bin.gz +0 -0
  64. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid4-1.bin.gz +0 -0
  65. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid4-2.bin.gz +0 -0
  66. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid5-1.bin.gz +0 -0
  67. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid5-2.bin.gz +0 -0
  68. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid5-3.bin.gz +0 -0
  69. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid6-1.bin.gz +0 -0
  70. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid6-2.bin.gz +0 -0
  71. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid6-3.bin.gz +0 -0
  72. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/ddf/ddf-raid6-4.bin.gz +0 -0
  73. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/dm/dm-thin-data.bin.gz +0 -0
  74. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/dm/dm-thin-metadata.bin.gz +0 -0
  75. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/gpt.bin +0 -0
  76. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/gpt_4k.bin +0 -0
  77. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/gpt_esxi.bin +0 -0
  78. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/gpt_hybrid.bin +0 -0
  79. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/gpt_no_name_xff.bin +0 -0
  80. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/lvm/lvm-mirror-1.bin.gz +0 -0
  81. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/lvm/lvm-mirror-2.bin.gz +0 -0
  82. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/lvm/lvm-thin.bin.gz +0 -0
  83. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/lvm/lvm.bin.gz +0 -0
  84. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/mbr.bin +0 -0
  85. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-90-1.bin.gz +0 -0
  86. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-90-2.bin.gz +0 -0
  87. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-90-raid1-1.bin.gz +0 -0
  88. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-90-raid1-2.bin.gz +0 -0
  89. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-linear-1.bin.gz +0 -0
  90. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-linear-2.bin.gz +0 -0
  91. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid0-1.bin.gz +0 -0
  92. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid0-2.bin.gz +0 -0
  93. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid0-3.bin.gz +0 -0
  94. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid1-1.bin.gz +0 -0
  95. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid1-2.bin.gz +0 -0
  96. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid10-1.bin.gz +0 -0
  97. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid10-2.bin.gz +0 -0
  98. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid4-1.bin.gz +0 -0
  99. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid4-2.bin.gz +0 -0
  100. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid4-3.bin.gz +0 -0
  101. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid5-1.bin.gz +0 -0
  102. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid5-2.bin.gz +0 -0
  103. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid5-3.bin.gz +0 -0
  104. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid6-1.bin.gz +0 -0
  105. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid6-2.bin.gz +0 -0
  106. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid6-3.bin.gz +0 -0
  107. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/data/md/md-raid6-4.bin.gz +0 -0
  108. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/docs/Makefile +0 -0
  109. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/docs/conf.py +0 -0
  110. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/docs/index.rst +0 -0
  111. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/test_apm.py +0 -0
  112. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/test_bsd.py +0 -0
  113. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/test_ddf.py +0 -0
  114. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/test_gpt.py +0 -0
  115. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/test_lvm.py +0 -0
  116. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/test_mbr.py +0 -0
  117. {dissect_volume-3.12.dev1 → dissect_volume-3.12.dev2}/tests/test_md.py +0 -0
  118. {dissect_volume-3.12.dev1 → 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.12.dev1
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")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dissect.volume
3
- Version: 3.12.dev1
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
@@ -80,6 +80,8 @@ tests/data/ddf/ddf-raid6-2.bin.gz
80
80
  tests/data/ddf/ddf-raid6-3.bin.gz
81
81
  tests/data/ddf/ddf-raid6-4.bin.gz
82
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
83
85
  tests/data/dm/dm-thin-metadata.bin.gz
84
86
  tests/data/lvm/lvm-mirror-1.bin.gz
85
87
  tests/data/lvm/lvm-mirror-2.bin.gz
@@ -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,46 +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/* filter=lfs diff=lfs merge=lfs -text