Merge ~ogayot/curtin:filter-out-ventoy into curtin:master

Proposed by Olivier Gayot
Status: Merged
Merged at revision: 650a5af561fed5be811e7e2d5c101334c05257ba
Proposed branch: ~ogayot/curtin:filter-out-ventoy
Merge into: curtin:master
Diff against target: 1535 lines (+1492/-0)
3 files modified
curtin/storage_config.py (+9/-0)
tests/data/probert_storage_ventoy.json (+1458/-0)
tests/unittests/test_storage_config.py (+25/-0)
Reviewer Review Type Date Requested Status
Dan Bungert Approve
Server Team CI bot continuous-integration Approve
Review via email: mp+439863@code.launchpad.net

Commit message

storage: filter out ventoy image when building storage config

When ventoy is used, the filesystem mounted to /cdrom is not a /dev/sr0
device (major number 11) but a dm device named "ventoy". Add a check to
exclude it as well as real cdrom devices.

Description of the change

storage: filter out ventoy image when building storage config

When ventoy is used, the filesystem mounted to /cdrom is not a /dev/sr0
device (major number 11) but a dm device named "ventoy". Add a check to
exclude it as well as real cdrom devices.

To post a comment you must log in.
Revision history for this message
Server Team CI bot (server-team-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
Server Team CI bot (server-team-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
Dan Bungert (dbungert) wrote :

I'd like a unit test please. Maybe something based on the probedata from the bug report?

Revision history for this message
Olivier Gayot (ogayot) wrote :

> I'd like a unit test please. Maybe something based on the probedata from the bug report?

Sure! Since the original bug reports are private, I've exported the probes-data from my last desktop install that was using ventoy.

Revision history for this message
Server Team CI bot (server-team-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
Dan Bungert (dbungert) wrote :

Thank you!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/curtin/storage_config.py b/curtin/storage_config.py
index b1d48cb..a232e1a 100644
--- a/curtin/storage_config.py
+++ b/curtin/storage_config.py
@@ -1119,6 +1119,15 @@ class MountParser(ProbertParser):
1119 # no floppy, no cdrom1119 # no floppy, no cdrom
1120 if self.blockdev_data[source]['MAJOR'] in ["11", "2"]:1120 if self.blockdev_data[source]['MAJOR'] in ["11", "2"]:
1121 return {}1121 return {}
1122 # When using ventoy, if any mount is found for /cdrom, it will not be a
1123 # block device with major number 11 but a dev/mapper device named
1124 # "ventoy".
1125 # See https://bugs.launchpad.net/bugs/2012722
1126 # TODO: ideally, we should not rely on the value of the DM_NAME
1127 # attribute. Other image loading systems will have a different value.
1128 if self.blockdev_data[source].get("DM_NAME") == "ventoy":
1129 LOG.warn("ignoring mount for device %s", source)
1130 return {}
11221131
1123 source_id = self.blockdev_to_id(self.blockdev_data[source])1132 source_id = self.blockdev_to_id(self.blockdev_data[source])
1124 return {'type': 'mount',1133 return {'type': 'mount',
diff --git a/tests/data/probert_storage_ventoy.json b/tests/data/probert_storage_ventoy.json
1125new file mode 1006441134new file mode 100644
index 0000000..b1347da
--- /dev/null
+++ b/tests/data/probert_storage_ventoy.json
@@ -0,0 +1,1458 @@
1{
2 "filesystem": {
3 "/dev/sdb1": {
4 "LABEL": "Ventoy",
5 "LABEL_ENC": "Ventoy",
6 "TYPE": "exfat",
7 "USAGE": "filesystem",
8 "UUID": "5DA2-E027",
9 "UUID_ENC": "5DA2-E027",
10 "VERSION": "1.0",
11 "ESTIMATED_MIN_SIZE": -1
12 },
13 "/dev/sda1": {
14 "TYPE": "vfat",
15 "USAGE": "filesystem",
16 "UUID": "06AB-D0F7",
17 "UUID_ENC": "06AB-D0F7",
18 "VERSION": "FAT32",
19 "ESTIMATED_MIN_SIZE": -1
20 },
21 "/dev/sda2": {
22 "TYPE": "ext4",
23 "USAGE": "filesystem",
24 "UUID": "27fc2a2c-f7c5-4458-b4bd-8bd1f1822c12",
25 "UUID_ENC": "27fc2a2c-f7c5-4458-b4bd-8bd1f1822c12",
26 "VERSION": "1.0",
27 "SIZE": 2147483648,
28 "ESTIMATED_MIN_SIZE": 411160576
29 },
30 "/dev/dm-0": {
31 "TYPE": "ext4",
32 "USAGE": "filesystem",
33 "UUID": "d71c8dc6-92b2-4c28-9aba-95f102280064",
34 "UUID_ENC": "d71c8dc6-92b2-4c28-9aba-95f102280064",
35 "VERSION": "1.0",
36 "SIZE": 107374182400,
37 "ESTIMATED_MIN_SIZE": 9313890304
38 }
39 },
40 "bcache": {
41 "backing": {},
42 "caching": {}
43 },
44 "dasd": {},
45 "os": {
46 "/dev/mapper/ubuntu": {
47 "long": "Ubuntu Lunar Lobster",
48 "label": "Ubuntu",
49 "type": "linux",
50 "version": "23.04"
51 }
52 },
53 "raid": {},
54 "multipath": {},
55 "mount": [
56 {
57 "target": "/",
58 "source": "/cow",
59 "fstype": "overlay",
60 "options": "rw,relatime,lowerdir=/minimal.standard.live.squashfs:/minimal.standard.squashfs:/minimal.squashfs,upperdir=/cow/upper,workdir=/cow/work,xino=off",
61 "children": [
62 {
63 "target": "/sys",
64 "source": "sysfs",
65 "fstype": "sysfs",
66 "options": "rw,nosuid,nodev,noexec,relatime",
67 "children": [
68 {
69 "target": "/sys/kernel/security",
70 "source": "securityfs",
71 "fstype": "securityfs",
72 "options": "rw,nosuid,nodev,noexec,relatime"
73 },
74 {
75 "target": "/sys/fs/cgroup",
76 "source": "cgroup2",
77 "fstype": "cgroup2",
78 "options": "rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot"
79 },
80 {
81 "target": "/sys/fs/pstore",
82 "source": "pstore",
83 "fstype": "pstore",
84 "options": "rw,nosuid,nodev,noexec,relatime"
85 },
86 {
87 "target": "/sys/firmware/efi/efivars",
88 "source": "efivarfs",
89 "fstype": "efivarfs",
90 "options": "rw,nosuid,nodev,noexec,relatime"
91 },
92 {
93 "target": "/sys/fs/bpf",
94 "source": "bpf",
95 "fstype": "bpf",
96 "options": "rw,nosuid,nodev,noexec,relatime,mode=700"
97 },
98 {
99 "target": "/sys/kernel/debug",
100 "source": "debugfs",
101 "fstype": "debugfs",
102 "options": "rw,nosuid,nodev,noexec,relatime"
103 },
104 {
105 "target": "/sys/kernel/tracing",
106 "source": "tracefs",
107 "fstype": "tracefs",
108 "options": "rw,nosuid,nodev,noexec,relatime"
109 },
110 {
111 "target": "/sys/kernel/config",
112 "source": "configfs",
113 "fstype": "configfs",
114 "options": "rw,nosuid,nodev,noexec,relatime"
115 },
116 {
117 "target": "/sys/fs/fuse/connections",
118 "source": "fusectl",
119 "fstype": "fusectl",
120 "options": "rw,nosuid,nodev,noexec,relatime"
121 }
122 ]
123 },
124 {
125 "target": "/proc",
126 "source": "proc",
127 "fstype": "proc",
128 "options": "rw,nosuid,nodev,noexec,relatime",
129 "children": [
130 {
131 "target": "/proc/sys/fs/binfmt_misc",
132 "source": "systemd-1",
133 "fstype": "autofs",
134 "options": "rw,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=2736",
135 "children": [
136 {
137 "target": "/proc/sys/fs/binfmt_misc",
138 "source": "binfmt_misc",
139 "fstype": "binfmt_misc",
140 "options": "rw,nosuid,nodev,noexec,relatime"
141 }
142 ]
143 }
144 ]
145 },
146 {
147 "target": "/dev",
148 "source": "udev",
149 "fstype": "devtmpfs",
150 "options": "rw,nosuid,relatime,size=3920092k,nr_inodes=980023,mode=755,inode64",
151 "children": [
152 {
153 "target": "/dev/pts",
154 "source": "devpts",
155 "fstype": "devpts",
156 "options": "rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000"
157 },
158 {
159 "target": "/dev/shm",
160 "source": "tmpfs",
161 "fstype": "tmpfs",
162 "options": "rw,nosuid,nodev,inode64"
163 },
164 {
165 "target": "/dev/hugepages",
166 "source": "hugetlbfs",
167 "fstype": "hugetlbfs",
168 "options": "rw,relatime,pagesize=2M"
169 },
170 {
171 "target": "/dev/mqueue",
172 "source": "mqueue",
173 "fstype": "mqueue",
174 "options": "rw,nosuid,nodev,noexec,relatime"
175 }
176 ]
177 },
178 {
179 "target": "/run",
180 "source": "tmpfs",
181 "fstype": "tmpfs",
182 "options": "rw,nosuid,nodev,noexec,relatime,size=799932k,mode=755,inode64",
183 "children": [
184 {
185 "target": "/run/lock",
186 "source": "tmpfs",
187 "fstype": "tmpfs",
188 "options": "rw,nosuid,nodev,noexec,relatime,size=5120k,inode64"
189 },
190 {
191 "target": "/run/credentials/systemd-sysusers.service",
192 "source": "ramfs",
193 "fstype": "ramfs",
194 "options": "ro,nosuid,nodev,noexec,relatime,mode=700"
195 },
196 {
197 "target": "/run/credentials/systemd-tmpfiles-setup-dev.service",
198 "source": "ramfs",
199 "fstype": "ramfs",
200 "options": "ro,nosuid,nodev,noexec,relatime,mode=700"
201 },
202 {
203 "target": "/run/credentials/systemd-sysctl.service",
204 "source": "ramfs",
205 "fstype": "ramfs",
206 "options": "ro,nosuid,nodev,noexec,relatime,mode=700"
207 },
208 {
209 "target": "/run/credentials/systemd-tmpfiles-setup.service",
210 "source": "ramfs",
211 "fstype": "ramfs",
212 "options": "ro,nosuid,nodev,noexec,relatime,mode=700"
213 },
214 {
215 "target": "/run/user/1000",
216 "source": "tmpfs",
217 "fstype": "tmpfs",
218 "options": "rw,nosuid,nodev,relatime,size=799928k,nr_inodes=199982,mode=700,uid=1000,gid=1000,inode64",
219 "children": [
220 {
221 "target": "/run/user/1000/gvfs",
222 "source": "gvfsd-fuse",
223 "fstype": "fuse.gvfsd-fuse",
224 "options": "rw,nosuid,nodev,relatime,user_id=1000,group_id=1000"
225 },
226 {
227 "target": "/run/user/1000/doc",
228 "source": "portal",
229 "fstype": "fuse.portal",
230 "options": "rw,nosuid,nodev,relatime,user_id=1000,group_id=1000"
231 }
232 ]
233 },
234 {
235 "target": "/run/snapd/ns",
236 "source": "tmpfs[/snapd/ns]",
237 "fstype": "tmpfs",
238 "options": "rw,nosuid,nodev,noexec,relatime,size=799932k,mode=755,inode64",
239 "children": [
240 {
241 "target": "/run/snapd/ns/firefox.mnt",
242 "source": "nsfs[mnt:[4026532616]]",
243 "fstype": "nsfs",
244 "options": "rw"
245 },
246 {
247 "target": "/run/snapd/ns/snap-store.mnt",
248 "source": "nsfs[mnt:[4026532678]]",
249 "fstype": "nsfs",
250 "options": "rw"
251 },
252 {
253 "target": "/run/snapd/ns/snapd-desktop-integration.mnt",
254 "source": "nsfs[mnt:[4026532679]]",
255 "fstype": "nsfs",
256 "options": "rw"
257 }
258 ]
259 }
260 ]
261 },
262 {
263 "target": "/cdrom",
264 "source": "/dev/mapper/ventoy",
265 "fstype": "iso9660",
266 "options": "ro,noatime,nojoliet,check=s,map=n,blocksize=2048,iocharset=utf8"
267 },
268 {
269 "target": "/rofs",
270 "source": "/dev/loop0",
271 "fstype": "squashfs",
272 "options": "ro,noatime,errors=continue,threads=single"
273 },
274 {
275 "target": "/tmp",
276 "source": "tmpfs",
277 "fstype": "tmpfs",
278 "options": "rw,nosuid,nodev,relatime,inode64",
279 "children": [
280 {
281 "target": "/tmp/tmpirjspppg/minimal.squashfs.dir",
282 "source": "/dev/loop0",
283 "fstype": "squashfs",
284 "options": "ro,relatime,errors=continue,threads=single"
285 },
286 {
287 "target": "/tmp/tmpirjspppg/minimal.standard.squashfs.dir",
288 "source": "/dev/loop1",
289 "fstype": "squashfs",
290 "options": "ro,relatime,errors=continue,threads=single"
291 },
292 {
293 "target": "/tmp/tmpirjspppg/minimal.standard.no-languages.squashfs.dir",
294 "source": "/dev/loop12",
295 "fstype": "squashfs",
296 "options": "ro,relatime,errors=continue,threads=single"
297 },
298 {
299 "target": "/tmp/tmpirjspppg/root.dir",
300 "source": "overlay",
301 "fstype": "overlay",
302 "options": "ro,relatime,lowerdir=/tmp/tmpirjspppg/minimal.standard.no-languages.squashfs.dir:/tmp/tmpirjspppg/minimal.standard.squashfs.dir:/tmp/tmpirjspppg/minimal.squashfs.dir"
303 }
304 ]
305 },
306 {
307 "target": "/snap/bare/5",
308 "source": "/dev/loop7",
309 "fstype": "squashfs",
310 "options": "ro,nodev,relatime,errors=continue,threads=single"
311 },
312 {
313 "target": "/snap/snapd-desktop-integration/71",
314 "source": "/dev/loop10",
315 "fstype": "squashfs",
316 "options": "ro,nodev,relatime,errors=continue,threads=single"
317 },
318 {
319 "target": "/snap/snap-store/935",
320 "source": "/dev/loop8",
321 "fstype": "squashfs",
322 "options": "ro,nodev,relatime,errors=continue,threads=single"
323 },
324 {
325 "target": "/snap/gtk-common-themes/1535",
326 "source": "/dev/loop6",
327 "fstype": "squashfs",
328 "options": "ro,nodev,relatime,errors=continue,threads=single"
329 },
330 {
331 "target": "/snap/firefox/2453",
332 "source": "/dev/loop4",
333 "fstype": "squashfs",
334 "options": "ro,nodev,relatime,errors=continue,threads=single"
335 },
336 {
337 "target": "/snap/snapd/18596",
338 "source": "/dev/loop9",
339 "fstype": "squashfs",
340 "options": "ro,nodev,relatime,errors=continue,threads=single"
341 },
342 {
343 "target": "/snap/core22/547",
344 "source": "/dev/loop3",
345 "fstype": "squashfs",
346 "options": "ro,nodev,relatime,errors=continue,threads=single"
347 },
348 {
349 "target": "/snap/ubuntu-desktop-installer/880",
350 "source": "/dev/loop11",
351 "fstype": "squashfs",
352 "options": "ro,nodev,relatime,errors=continue,threads=single"
353 },
354 {
355 "target": "/snap/gnome-42-2204/65",
356 "source": "/dev/loop5",
357 "fstype": "squashfs",
358 "options": "ro,nodev,relatime,errors=continue,threads=single"
359 },
360 {
361 "target": "/var/snap/firefox/common/host-hunspell",
362 "source": "/cow[/usr/share/hunspell]",
363 "fstype": "overlay",
364 "options": "ro,noexec,noatime,lowerdir=/minimal.standard.live.squashfs:/minimal.standard.squashfs:/minimal.squashfs,upperdir=/cow/upper,workdir=/cow/work,xino=off"
365 }
366 ]
367 }
368 ],
369 "lvm": {
370 "logical_volumes": {
371 "ubuntu-vg/ubuntu-lv": {
372 "fullname": "ubuntu-vg/ubuntu-lv",
373 "name": "ubuntu-lv",
374 "volgroup": "ubuntu-vg",
375 "size": "107374182400B"
376 }
377 },
378 "physical_volumes": {
379 "ubuntu-vg": [
380 "/dev/sda3"
381 ]
382 },
383 "volume_groups": {
384 "ubuntu-vg": {
385 "name": "ubuntu-vg",
386 "devices": [
387 "/dev/sda3"
388 ],
389 "size": "496827891712B"
390 }
391 }
392 },
393 "zfs": {
394 "zpools": {}
395 },
396 "blockdev": {
397 "/dev/sdb": {
398 "CURRENT_TAGS": ":systemd:",
399 "DEVLINKS": "/dev/disk/by-id/usb-USB_SanDisk_3.2Gen1_01012e82fc63883cd49a05d58e9c785d329287c0c9bd4266dfbc025f731e88103c59000000000000000000009c59ceb5ff055800915581071faea527-0:0 /dev/disk/by-path/pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0 /dev/disk/by-diskseq/11",
400 "DEVNAME": "/dev/sdb",
401 "DEVPATH": "/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/host4/target4:0:0/4:0:0:0/block/sdb",
402 "DEVTYPE": "disk",
403 "DISKSEQ": "11",
404 "ID_BUS": "usb",
405 "ID_INSTANCE": "0:0",
406 "ID_MODEL": "SanDisk_3.2Gen1",
407 "ID_MODEL_ENC": "\\x20SanDisk\\x203.2Gen1",
408 "ID_MODEL_ID": "5591",
409 "ID_PART_TABLE_TYPE": "dos",
410 "ID_PART_TABLE_UUID": "b69cc32d",
411 "ID_PATH": "pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0",
412 "ID_PATH_TAG": "pci-0000_00_14_0-usb-0_1_1_0-scsi-0_0_0_0",
413 "ID_REVISION": "1.00",
414 "ID_SERIAL": "USB_SanDisk_3.2Gen1_01012e82fc63883cd49a05d58e9c785d329287c0c9bd4266dfbc025f731e88103c59000000000000000000009c59ceb5ff055800915581071faea527-0:0",
415 "ID_SERIAL_SHORT": "01012e82fc63883cd49a05d58e9c785d329287c0c9bd4266dfbc025f731e88103c59000000000000000000009c59ceb5ff055800915581071faea527",
416 "ID_TYPE": "disk",
417 "ID_USB_DRIVER": "usb-storage",
418 "ID_USB_INSTANCE": "0:0",
419 "ID_USB_INTERFACES": ":080650:",
420 "ID_USB_INTERFACE_NUM": "00",
421 "ID_USB_MODEL": "SanDisk_3.2Gen1",
422 "ID_USB_MODEL_ENC": "\\x20SanDisk\\x203.2Gen1",
423 "ID_USB_MODEL_ID": "5591",
424 "ID_USB_REVISION": "1.00",
425 "ID_USB_SERIAL": "USB_SanDisk_3.2Gen1_01012e82fc63883cd49a05d58e9c785d329287c0c9bd4266dfbc025f731e88103c59000000000000000000009c59ceb5ff055800915581071faea527-0:0",
426 "ID_USB_SERIAL_SHORT": "01012e82fc63883cd49a05d58e9c785d329287c0c9bd4266dfbc025f731e88103c59000000000000000000009c59ceb5ff055800915581071faea527",
427 "ID_USB_TYPE": "disk",
428 "ID_USB_VENDOR": "USB",
429 "ID_USB_VENDOR_ENC": "\\x20USB\\x20\\x20\\x20\\x20",
430 "ID_USB_VENDOR_ID": "0781",
431 "ID_VENDOR": "USB",
432 "ID_VENDOR_ENC": "\\x20USB\\x20\\x20\\x20\\x20",
433 "ID_VENDOR_ID": "0781",
434 "MAJOR": "8",
435 "MINOR": "16",
436 "SUBSYSTEM": "block",
437 "TAGS": ":systemd:",
438 "USEC_INITIALIZED": "4248707",
439 "attrs": {
440 "alignment_offset": "0",
441 "bdi": null,
442 "capability": "1",
443 "dev": "8:16",
444 "device": null,
445 "discard_alignment": "0",
446 "diskseq": "11",
447 "events": "media_change",
448 "events_async": "",
449 "events_poll_msecs": "-1",
450 "ext_range": "256",
451 "hidden": "0",
452 "inflight": " 1 0",
453 "integrity/device_is_integrity_capable": "0",
454 "integrity/format": "none",
455 "integrity/protection_interval_bytes": "0",
456 "integrity/read_verify": "0",
457 "integrity/tag_size": "0",
458 "integrity/write_generate": "0",
459 "mq/0/cpu_list": "0, 1, 2, 3",
460 "mq/0/nr_reserved_tags": "0",
461 "mq/0/nr_tags": "1",
462 "power/async": "disabled",
463 "power/autosuspend_delay_ms": null,
464 "power/control": "auto",
465 "power/runtime_active_kids": "0",
466 "power/runtime_active_time": "0",
467 "power/runtime_enabled": "disabled",
468 "power/runtime_status": "unsupported",
469 "power/runtime_suspended_time": "0",
470 "power/runtime_usage": "0",
471 "queue/add_random": "1",
472 "queue/chunk_sectors": "0",
473 "queue/dax": "0",
474 "queue/discard_granularity": "0",
475 "queue/discard_max_bytes": "0",
476 "queue/discard_max_hw_bytes": "0",
477 "queue/discard_zeroes_data": "0",
478 "queue/dma_alignment": "511",
479 "queue/fua": "0",
480 "queue/hw_sector_size": "512",
481 "queue/io_poll": "0",
482 "queue/io_poll_delay": "-1",
483 "queue/io_timeout": "30000",
484 "queue/iosched/async_depth": "1",
485 "queue/iosched/fifo_batch": "16",
486 "queue/iosched/front_merges": "1",
487 "queue/iosched/prio_aging_expire": "10000",
488 "queue/iosched/read_expire": "500",
489 "queue/iosched/write_expire": "5000",
490 "queue/iosched/writes_starved": "2",
491 "queue/iostats": "1",
492 "queue/logical_block_size": "512",
493 "queue/max_discard_segments": "1",
494 "queue/max_hw_sectors_kb": "1024",
495 "queue/max_integrity_segments": "0",
496 "queue/max_sectors_kb": "1024",
497 "queue/max_segment_size": "65536",
498 "queue/max_segments": "2048",
499 "queue/minimum_io_size": "512",
500 "queue/nomerges": "0",
501 "queue/nr_requests": "2",
502 "queue/nr_zones": "0",
503 "queue/optimal_io_size": "0",
504 "queue/physical_block_size": "512",
505 "queue/read_ahead_kb": "128",
506 "queue/rotational": "1",
507 "queue/rq_affinity": "1",
508 "queue/scheduler": "none [mq-deadline] ",
509 "queue/stable_writes": "0",
510 "queue/virt_boundary_mask": "0",
511 "queue/wbt_lat_usec": "75000",
512 "queue/write_cache": "write through",
513 "queue/write_same_max_bytes": "0",
514 "queue/write_zeroes_max_bytes": "0",
515 "queue/zone_append_max_bytes": "0",
516 "queue/zone_write_granularity": "0",
517 "queue/zoned": "none",
518 "range": "16",
519 "removable": "1",
520 "ro": "0",
521 "size": "61505273856",
522 "stat": " 15009 660 2342514 34219 0 0 0 0 1 33712 34219 0 0 0 0 0 0",
523 "subsystem": "block",
524 "trace/act_mask": "disabled",
525 "trace/enable": "0",
526 "trace/end_lba": "disabled",
527 "trace/pid": "disabled",
528 "trace/start_lba": "disabled",
529 "uevent": "MAJOR=8\nMINOR=16\nDEVNAME=sdb\nDEVTYPE=disk\nDISKSEQ=11"
530 },
531 "partitiontable": {
532 "label": "dos",
533 "id": "0xb69cc32d",
534 "device": "/dev/sdb",
535 "unit": "sectors",
536 "sectorsize": 512,
537 "partitions": [
538 {
539 "node": "/dev/sdb1",
540 "start": 2048,
541 "size": 120059904,
542 "type": "7",
543 "bootable": true
544 },
545 {
546 "node": "/dev/sdb2",
547 "start": 120061952,
548 "size": 65536,
549 "type": "ef"
550 }
551 ]
552 }
553 },
554 "/dev/sdb1": {
555 "CURRENT_TAGS": ":systemd:",
556 "DEVLINKS": "/dev/disk/by-partuuid/b69cc32d-01 /dev/disk/by-label/Ventoy /dev/disk/by-path/pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0-part1 /dev/disk/by-uuid/5DA2-E027 /dev/disk/by-id/usb-USB_SanDisk_3.2Gen1_01012e82fc63883cd49a05d58e9c785d329287c0c9bd4266dfbc025f731e88103c59000000000000000000009c59ceb5ff055800915581071faea527-0:0-part1",
557 "DEVNAME": "/dev/sdb1",
558 "DEVPATH": "/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/host4/target4:0:0/4:0:0:0/block/sdb/sdb1",
559 "DEVTYPE": "partition",
560 "DISKSEQ": "11",
561 "ID_BUS": "usb",
562 "ID_FS_LABEL": "Ventoy",
563 "ID_FS_LABEL_ENC": "Ventoy",
564 "ID_FS_TYPE": "exfat",
565 "ID_FS_USAGE": "filesystem",
566 "ID_FS_UUID": "5DA2-E027",
567 "ID_FS_UUID_ENC": "5DA2-E027",
568 "ID_FS_VERSION": "1.0",
569 "ID_INSTANCE": "0:0",
570 "ID_MODEL": "SanDisk_3.2Gen1",
571 "ID_MODEL_ENC": "\\x20SanDisk\\x203.2Gen1",
572 "ID_MODEL_ID": "5591",
573 "ID_PART_ENTRY_DISK": "8:16",
574 "ID_PART_ENTRY_FLAGS": "0x80",
575 "ID_PART_ENTRY_NUMBER": "1",
576 "ID_PART_ENTRY_OFFSET": "2048",
577 "ID_PART_ENTRY_SCHEME": "dos",
578 "ID_PART_ENTRY_SIZE": "120059904",
579 "ID_PART_ENTRY_TYPE": "0x7",
580 "ID_PART_ENTRY_UUID": "b69cc32d-01",
581 "ID_PART_TABLE_TYPE": "dos",
582 "ID_PART_TABLE_UUID": "b69cc32d",
583 "ID_PATH": "pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0",
584 "ID_PATH_TAG": "pci-0000_00_14_0-usb-0_1_1_0-scsi-0_0_0_0",
585 "ID_REVISION": "1.00",
586 "ID_SERIAL": "USB_SanDisk_3.2Gen1_01012e82fc63883cd49a05d58e9c785d329287c0c9bd4266dfbc025f731e88103c59000000000000000000009c59ceb5ff055800915581071faea527-0:0",
587 "ID_SERIAL_SHORT": "01012e82fc63883cd49a05d58e9c785d329287c0c9bd4266dfbc025f731e88103c59000000000000000000009c59ceb5ff055800915581071faea527",
588 "ID_TYPE": "disk",
589 "ID_USB_DRIVER": "usb-storage",
590 "ID_USB_INSTANCE": "0:0",
591 "ID_USB_INTERFACES": ":080650:",
592 "ID_USB_INTERFACE_NUM": "00",
593 "ID_USB_MODEL": "SanDisk_3.2Gen1",
594 "ID_USB_MODEL_ENC": "\\x20SanDisk\\x203.2Gen1",
595 "ID_USB_MODEL_ID": "5591",
596 "ID_USB_REVISION": "1.00",
597 "ID_USB_SERIAL": "USB_SanDisk_3.2Gen1_01012e82fc63883cd49a05d58e9c785d329287c0c9bd4266dfbc025f731e88103c59000000000000000000009c59ceb5ff055800915581071faea527-0:0",
598 "ID_USB_SERIAL_SHORT": "01012e82fc63883cd49a05d58e9c785d329287c0c9bd4266dfbc025f731e88103c59000000000000000000009c59ceb5ff055800915581071faea527",
599 "ID_USB_TYPE": "disk",
600 "ID_USB_VENDOR": "USB",
601 "ID_USB_VENDOR_ENC": "\\x20USB\\x20\\x20\\x20\\x20",
602 "ID_USB_VENDOR_ID": "0781",
603 "ID_VENDOR": "USB",
604 "ID_VENDOR_ENC": "\\x20USB\\x20\\x20\\x20\\x20",
605 "ID_VENDOR_ID": "0781",
606 "MAJOR": "8",
607 "MINOR": "17",
608 "PARTN": "1",
609 "SUBSYSTEM": "block",
610 "TAGS": ":systemd:",
611 "USEC_INITIALIZED": "4315487",
612 "attrs": {
613 "alignment_offset": "0",
614 "dev": "8:17",
615 "discard_alignment": "0",
616 "holders/dm-1": null,
617 "inflight": " 1 0",
618 "partition": "1",
619 "power/async": "disabled",
620 "power/autosuspend_delay_ms": null,
621 "power/control": "auto",
622 "power/runtime_active_kids": "0",
623 "power/runtime_active_time": "0",
624 "power/runtime_enabled": "disabled",
625 "power/runtime_status": "unsupported",
626 "power/runtime_suspended_time": "0",
627 "power/runtime_usage": "0",
628 "ro": "0",
629 "size": "61470670848",
630 "start": "2048",
631 "stat": " 14944 682 2354546 34241 0 0 0 0 1 33816 34241 0 0 0 0 0 0",
632 "subsystem": "block",
633 "trace/act_mask": "disabled",
634 "trace/enable": "0",
635 "trace/end_lba": "disabled",
636 "trace/pid": "disabled",
637 "trace/start_lba": "disabled",
638 "uevent": "MAJOR=8\nMINOR=17\nDEVNAME=sdb1\nDEVTYPE=partition\nDISKSEQ=11\nPARTN=1"
639 },
640 "partitiontable": {
641 "label": "dos",
642 "id": "0x00000000",
643 "device": "/dev/sdb1",
644 "unit": "sectors",
645 "sectorsize": 512
646 }
647 },
648 "/dev/sdb2": {
649 "CURRENT_TAGS": ":systemd:",
650 "DEVLINKS": "/dev/disk/by-path/pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0-part2 /dev/disk/by-id/usb-USB_SanDisk_3.2Gen1_01012e82fc63883cd49a05d58e9c785d329287c0c9bd4266dfbc025f731e88103c59000000000000000000009c59ceb5ff055800915581071faea527-0:0-part2",
651 "DEVNAME": "/dev/sdb2",
652 "DEVPATH": "/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/host4/target4:0:0/4:0:0:0/block/sdb/sdb2",
653 "DEVTYPE": "partition",
654 "DISKSEQ": "11",
655 "ID_BUS": "usb",
656 "ID_INSTANCE": "0:0",
657 "ID_MODEL": "SanDisk_3.2Gen1",
658 "ID_MODEL_ENC": "\\x20SanDisk\\x203.2Gen1",
659 "ID_MODEL_ID": "5591",
660 "ID_PART_TABLE_TYPE": "dos",
661 "ID_PART_TABLE_UUID": "b69cc32d",
662 "ID_PATH": "pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0",
663 "ID_PATH_TAG": "pci-0000_00_14_0-usb-0_1_1_0-scsi-0_0_0_0",
664 "ID_REVISION": "1.00",
665 "ID_SERIAL": "USB_SanDisk_3.2Gen1_01012e82fc63883cd49a05d58e9c785d329287c0c9bd4266dfbc025f731e88103c59000000000000000000009c59ceb5ff055800915581071faea527-0:0",
666 "ID_SERIAL_SHORT": "01012e82fc63883cd49a05d58e9c785d329287c0c9bd4266dfbc025f731e88103c59000000000000000000009c59ceb5ff055800915581071faea527",
667 "ID_TYPE": "disk",
668 "ID_USB_DRIVER": "usb-storage",
669 "ID_USB_INSTANCE": "0:0",
670 "ID_USB_INTERFACES": ":080650:",
671 "ID_USB_INTERFACE_NUM": "00",
672 "ID_USB_MODEL": "SanDisk_3.2Gen1",
673 "ID_USB_MODEL_ENC": "\\x20SanDisk\\x203.2Gen1",
674 "ID_USB_MODEL_ID": "5591",
675 "ID_USB_REVISION": "1.00",
676 "ID_USB_SERIAL": "USB_SanDisk_3.2Gen1_01012e82fc63883cd49a05d58e9c785d329287c0c9bd4266dfbc025f731e88103c59000000000000000000009c59ceb5ff055800915581071faea527-0:0",
677 "ID_USB_SERIAL_SHORT": "01012e82fc63883cd49a05d58e9c785d329287c0c9bd4266dfbc025f731e88103c59000000000000000000009c59ceb5ff055800915581071faea527",
678 "ID_USB_TYPE": "disk",
679 "ID_USB_VENDOR": "USB",
680 "ID_USB_VENDOR_ENC": "\\x20USB\\x20\\x20\\x20\\x20",
681 "ID_USB_VENDOR_ID": "0781",
682 "ID_VENDOR": "USB",
683 "ID_VENDOR_ENC": "\\x20USB\\x20\\x20\\x20\\x20",
684 "ID_VENDOR_ID": "0781",
685 "MAJOR": "8",
686 "MINOR": "18",
687 "PARTN": "2",
688 "SUBSYSTEM": "block",
689 "TAGS": ":systemd:",
690 "USEC_INITIALIZED": "4309500",
691 "attrs": {
692 "alignment_offset": "0",
693 "dev": "8:18",
694 "discard_alignment": "0",
695 "inflight": " 0 0",
696 "partition": "2",
697 "power/async": "disabled",
698 "power/autosuspend_delay_ms": null,
699 "power/control": "auto",
700 "power/runtime_active_kids": "0",
701 "power/runtime_active_time": "0",
702 "power/runtime_enabled": "disabled",
703 "power/runtime_status": "unsupported",
704 "power/runtime_suspended_time": "0",
705 "power/runtime_usage": "0",
706 "ro": "0",
707 "size": "33554432",
708 "start": "120061952",
709 "stat": " 25 0 608 52 0 0 0 0 0 56 52 0 0 0 0 0 0",
710 "subsystem": "block",
711 "trace/act_mask": "disabled",
712 "trace/enable": "0",
713 "trace/end_lba": "disabled",
714 "trace/pid": "disabled",
715 "trace/start_lba": "disabled",
716 "uevent": "MAJOR=8\nMINOR=18\nDEVNAME=sdb2\nDEVTYPE=partition\nDISKSEQ=11\nPARTN=2"
717 },
718 "partitiontable": {
719 "label": "gpt",
720 "id": "ACA58DA5-EEF8-4E61-A479-A4A7B29BED12",
721 "device": "/dev/sdb2",
722 "unit": "sectors",
723 "firstlba": 64,
724 "lastlba": 9452728,
725 "table-length": "248",
726 "sectorsize": 512,
727 "partitions": [
728 {
729 "node": "/dev/sdb2p1",
730 "start": 64,
731 "size": 9441996,
732 "type": "EBD0A0A2-B9E5-4433-87C0-68B6B72699C7",
733 "uuid": "ACA58DA5-EEF8-4E61-A478-A4A7B29BED12",
734 "name": "ISO9660",
735 "attrs": "RequiredPartition GUID:60"
736 },
737 {
738 "node": "/dev/sdb2p2",
739 "start": 9442060,
740 "size": 10068,
741 "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B",
742 "uuid": "ACA58DA5-EEF8-4E61-A47B-A4A7B29BED12",
743 "name": "Appended2"
744 },
745 {
746 "node": "/dev/sdb2p3",
747 "start": 9452128,
748 "size": 600,
749 "type": "EBD0A0A2-B9E5-4433-87C0-68B6B72699C7",
750 "uuid": "ACA58DA5-EEF8-4E61-A47A-A4A7B29BED12",
751 "name": "Gap1",
752 "attrs": "RequiredPartition GUID:60"
753 }
754 ]
755 }
756 },
757 "/dev/sda": {
758 "CURRENT_TAGS": ":systemd:",
759 "DEVLINKS": "/dev/disk/by-id/wwn-0x500a0751e21350e2 /dev/disk/by-path/pci-0000:00:1f.2-ata-4.0 /dev/disk/by-diskseq/9 /dev/disk/by-path/pci-0000:00:1f.2-ata-4 /dev/disk/by-id/ata-CT500MX500SSD4_1928E21350E2",
760 "DEVNAME": "/dev/sda",
761 "DEVPATH": "/devices/pci0000:00/0000:00:1f.2/ata4/host3/target3:0:0/3:0:0:0/block/sda",
762 "DEVTYPE": "disk",
763 "DISKSEQ": "9",
764 "ID_ATA": "1",
765 "ID_ATA_DOWNLOAD_MICROCODE": "1",
766 "ID_ATA_FEATURE_SET_APM": "1",
767 "ID_ATA_FEATURE_SET_APM_CURRENT_VALUE": "254",
768 "ID_ATA_FEATURE_SET_APM_ENABLED": "1",
769 "ID_ATA_FEATURE_SET_PM": "1",
770 "ID_ATA_FEATURE_SET_PM_ENABLED": "1",
771 "ID_ATA_FEATURE_SET_SECURITY": "1",
772 "ID_ATA_FEATURE_SET_SECURITY_ENABLED": "0",
773 "ID_ATA_FEATURE_SET_SECURITY_ENHANCED_ERASE_UNIT_MIN": "2",
774 "ID_ATA_FEATURE_SET_SECURITY_ERASE_UNIT_MIN": "2",
775 "ID_ATA_FEATURE_SET_SECURITY_FROZEN": "1",
776 "ID_ATA_FEATURE_SET_SMART": "1",
777 "ID_ATA_FEATURE_SET_SMART_ENABLED": "1",
778 "ID_ATA_ROTATION_RATE_RPM": "0",
779 "ID_ATA_SATA": "1",
780 "ID_ATA_SATA_SIGNAL_RATE_GEN1": "1",
781 "ID_ATA_SATA_SIGNAL_RATE_GEN2": "1",
782 "ID_ATA_WRITE_CACHE": "1",
783 "ID_ATA_WRITE_CACHE_ENABLED": "1",
784 "ID_BUS": "ata",
785 "ID_MODEL": "CT500MX500SSD4",
786 "ID_MODEL_ENC": "CT500MX500SSD4\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20",
787 "ID_PART_TABLE_TYPE": "gpt",
788 "ID_PART_TABLE_UUID": "4ed9f6c2-620c-4b7e-997d-2f5c14d45402",
789 "ID_PATH": "pci-0000:00:1f.2-ata-4.0",
790 "ID_PATH_ATA_COMPAT": "pci-0000:00:1f.2-ata-4",
791 "ID_PATH_TAG": "pci-0000_00_1f_2-ata-4_0",
792 "ID_REVISION": "M3CR023",
793 "ID_SERIAL": "CT500MX500SSD4_1928E21350E2",
794 "ID_SERIAL_SHORT": "1928E21350E2",
795 "ID_TYPE": "disk",
796 "ID_WWN": "0x500a0751e21350e2",
797 "ID_WWN_WITH_EXTENSION": "0x500a0751e21350e2",
798 "MAJOR": "8",
799 "MINOR": "0",
800 "SUBSYSTEM": "block",
801 "TAGS": ":systemd:",
802 "USEC_INITIALIZED": "2118246",
803 "attrs": {
804 "alignment_offset": "0",
805 "bdi": null,
806 "capability": "0",
807 "dev": "8:0",
808 "device": null,
809 "discard_alignment": "0",
810 "diskseq": "9",
811 "events": "",
812 "events_async": "",
813 "events_poll_msecs": "-1",
814 "ext_range": "256",
815 "hidden": "0",
816 "inflight": " 0 0",
817 "integrity/device_is_integrity_capable": "0",
818 "integrity/format": "none",
819 "integrity/protection_interval_bytes": "0",
820 "integrity/read_verify": "0",
821 "integrity/tag_size": "0",
822 "integrity/write_generate": "0",
823 "mq/0/cpu_list": "0, 1, 2, 3",
824 "mq/0/nr_reserved_tags": "0",
825 "mq/0/nr_tags": "32",
826 "power/async": "disabled",
827 "power/autosuspend_delay_ms": null,
828 "power/control": "auto",
829 "power/runtime_active_kids": "0",
830 "power/runtime_active_time": "0",
831 "power/runtime_enabled": "disabled",
832 "power/runtime_status": "unsupported",
833 "power/runtime_suspended_time": "0",
834 "power/runtime_usage": "0",
835 "queue/add_random": "0",
836 "queue/chunk_sectors": "0",
837 "queue/dax": "0",
838 "queue/discard_granularity": "4096",
839 "queue/discard_max_bytes": "2147450880",
840 "queue/discard_max_hw_bytes": "2147450880",
841 "queue/discard_zeroes_data": "0",
842 "queue/dma_alignment": "511",
843 "queue/fua": "0",
844 "queue/hw_sector_size": "512",
845 "queue/io_poll": "0",
846 "queue/io_poll_delay": "-1",
847 "queue/io_timeout": "30000",
848 "queue/iosched/async_depth": "48",
849 "queue/iosched/fifo_batch": "16",
850 "queue/iosched/front_merges": "1",
851 "queue/iosched/prio_aging_expire": "10000",
852 "queue/iosched/read_expire": "500",
853 "queue/iosched/write_expire": "5000",
854 "queue/iosched/writes_starved": "2",
855 "queue/iostats": "1",
856 "queue/logical_block_size": "512",
857 "queue/max_discard_segments": "1",
858 "queue/max_hw_sectors_kb": "32767",
859 "queue/max_integrity_segments": "0",
860 "queue/max_sectors_kb": "1280",
861 "queue/max_segment_size": "65536",
862 "queue/max_segments": "168",
863 "queue/minimum_io_size": "4096",
864 "queue/nomerges": "0",
865 "queue/nr_requests": "64",
866 "queue/nr_zones": "0",
867 "queue/optimal_io_size": "0",
868 "queue/physical_block_size": "4096",
869 "queue/read_ahead_kb": "128",
870 "queue/rotational": "0",
871 "queue/rq_affinity": "1",
872 "queue/scheduler": "none [mq-deadline] ",
873 "queue/stable_writes": "0",
874 "queue/virt_boundary_mask": "0",
875 "queue/wbt_lat_usec": "2000",
876 "queue/write_cache": "write back",
877 "queue/write_same_max_bytes": "0",
878 "queue/write_zeroes_max_bytes": "0",
879 "queue/zone_append_max_bytes": "0",
880 "queue/zone_write_granularity": "0",
881 "queue/zoned": "none",
882 "range": "16",
883 "removable": "0",
884 "ro": "0",
885 "size": "500107862016",
886 "stat": " 836 0 69064 249 11 0 0 5 0 520 260 0 0 0 0 11 5",
887 "subsystem": "block",
888 "trace/act_mask": "disabled",
889 "trace/enable": "0",
890 "trace/end_lba": "disabled",
891 "trace/pid": "disabled",
892 "trace/start_lba": "disabled",
893 "uevent": "MAJOR=8\nMINOR=0\nDEVNAME=sda\nDEVTYPE=disk\nDISKSEQ=9"
894 },
895 "partitiontable": {
896 "label": "gpt",
897 "id": "4ED9F6C2-620C-4B7E-997D-2F5C14D45402",
898 "device": "/dev/sda",
899 "unit": "sectors",
900 "firstlba": 34,
901 "lastlba": 976773134,
902 "sectorsize": 512,
903 "partitions": [
904 {
905 "node": "/dev/sda1",
906 "start": 2048,
907 "size": 2201600,
908 "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B",
909 "uuid": "01C125BA-FA93-45FA-9849-296299D35EA9"
910 },
911 {
912 "node": "/dev/sda2",
913 "start": 2203648,
914 "size": 4194304,
915 "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4",
916 "uuid": "786C854A-6B96-49C8-B99D-AF1B7205BEBB"
917 },
918 {
919 "node": "/dev/sda3",
920 "start": 6397952,
921 "size": 970373120,
922 "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4",
923 "uuid": "21445E85-0437-4C67-A5EB-D0D9BB11EAB1"
924 }
925 ]
926 }
927 },
928 "/dev/sda1": {
929 "CURRENT_TAGS": ":systemd:",
930 "DEVLINKS": "/dev/disk/by-partuuid/01c125ba-fa93-45fa-9849-296299d35ea9 /dev/disk/by-id/wwn-0x500a0751e21350e2-part1 /dev/disk/by-path/pci-0000:00:1f.2-ata-4.0-part1 /dev/disk/by-uuid/06AB-D0F7 /dev/disk/by-id/ata-CT500MX500SSD4_1928E21350E2-part1 /dev/disk/by-path/pci-0000:00:1f.2-ata-4-part1",
931 "DEVNAME": "/dev/sda1",
932 "DEVPATH": "/devices/pci0000:00/0000:00:1f.2/ata4/host3/target3:0:0/3:0:0:0/block/sda/sda1",
933 "DEVTYPE": "partition",
934 "DISKSEQ": "9",
935 "ID_ATA": "1",
936 "ID_ATA_DOWNLOAD_MICROCODE": "1",
937 "ID_ATA_FEATURE_SET_APM": "1",
938 "ID_ATA_FEATURE_SET_APM_CURRENT_VALUE": "254",
939 "ID_ATA_FEATURE_SET_APM_ENABLED": "1",
940 "ID_ATA_FEATURE_SET_PM": "1",
941 "ID_ATA_FEATURE_SET_PM_ENABLED": "1",
942 "ID_ATA_FEATURE_SET_SECURITY": "1",
943 "ID_ATA_FEATURE_SET_SECURITY_ENABLED": "0",
944 "ID_ATA_FEATURE_SET_SECURITY_ENHANCED_ERASE_UNIT_MIN": "2",
945 "ID_ATA_FEATURE_SET_SECURITY_ERASE_UNIT_MIN": "2",
946 "ID_ATA_FEATURE_SET_SECURITY_FROZEN": "1",
947 "ID_ATA_FEATURE_SET_SMART": "1",
948 "ID_ATA_FEATURE_SET_SMART_ENABLED": "1",
949 "ID_ATA_ROTATION_RATE_RPM": "0",
950 "ID_ATA_SATA": "1",
951 "ID_ATA_SATA_SIGNAL_RATE_GEN1": "1",
952 "ID_ATA_SATA_SIGNAL_RATE_GEN2": "1",
953 "ID_ATA_WRITE_CACHE": "1",
954 "ID_ATA_WRITE_CACHE_ENABLED": "1",
955 "ID_BUS": "ata",
956 "ID_FS_TYPE": "vfat",
957 "ID_FS_USAGE": "filesystem",
958 "ID_FS_UUID": "06AB-D0F7",
959 "ID_FS_UUID_ENC": "06AB-D0F7",
960 "ID_FS_VERSION": "FAT32",
961 "ID_MODEL": "CT500MX500SSD4",
962 "ID_MODEL_ENC": "CT500MX500SSD4\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20",
963 "ID_PART_ENTRY_DISK": "8:0",
964 "ID_PART_ENTRY_NUMBER": "1",
965 "ID_PART_ENTRY_OFFSET": "2048",
966 "ID_PART_ENTRY_SCHEME": "gpt",
967 "ID_PART_ENTRY_SIZE": "2201600",
968 "ID_PART_ENTRY_TYPE": "c12a7328-f81f-11d2-ba4b-00a0c93ec93b",
969 "ID_PART_ENTRY_UUID": "01c125ba-fa93-45fa-9849-296299d35ea9",
970 "ID_PART_TABLE_TYPE": "gpt",
971 "ID_PART_TABLE_UUID": "4ed9f6c2-620c-4b7e-997d-2f5c14d45402",
972 "ID_PATH": "pci-0000:00:1f.2-ata-4.0",
973 "ID_PATH_ATA_COMPAT": "pci-0000:00:1f.2-ata-4",
974 "ID_PATH_TAG": "pci-0000_00_1f_2-ata-4_0",
975 "ID_REVISION": "M3CR023",
976 "ID_SERIAL": "CT500MX500SSD4_1928E21350E2",
977 "ID_SERIAL_SHORT": "1928E21350E2",
978 "ID_TYPE": "disk",
979 "ID_WWN": "0x500a0751e21350e2",
980 "ID_WWN_WITH_EXTENSION": "0x500a0751e21350e2",
981 "MAJOR": "8",
982 "MINOR": "1",
983 "PARTN": "1",
984 "SUBSYSTEM": "block",
985 "TAGS": ":systemd:",
986 "UDISKS_IGNORE": "1",
987 "USEC_INITIALIZED": "2130901",
988 "attrs": {
989 "alignment_offset": "0",
990 "dev": "8:1",
991 "discard_alignment": "0",
992 "inflight": " 0 0",
993 "partition": "1",
994 "power/async": "disabled",
995 "power/autosuspend_delay_ms": null,
996 "power/control": "auto",
997 "power/runtime_active_kids": "0",
998 "power/runtime_active_time": "0",
999 "power/runtime_enabled": "disabled",
1000 "power/runtime_status": "unsupported",
1001 "power/runtime_suspended_time": "0",
1002 "power/runtime_usage": "0",
1003 "ro": "0",
1004 "size": "1127219200",
1005 "start": "2048",
1006 "stat": " 171 0 15632 57 0 0 0 0 0 144 57 0 0 0 0 0 0",
1007 "subsystem": "block",
1008 "trace/act_mask": "disabled",
1009 "trace/enable": "0",
1010 "trace/end_lba": "disabled",
1011 "trace/pid": "disabled",
1012 "trace/start_lba": "disabled",
1013 "uevent": "MAJOR=8\nMINOR=1\nDEVNAME=sda1\nDEVTYPE=partition\nDISKSEQ=9\nPARTN=1"
1014 },
1015 "partitiontable": {
1016 "label": "dos",
1017 "id": "0x00000000",
1018 "device": "/dev/sda1",
1019 "unit": "sectors",
1020 "sectorsize": 512
1021 }
1022 },
1023 "/dev/sda2": {
1024 "CURRENT_TAGS": ":systemd:",
1025 "DEVLINKS": "/dev/disk/by-partuuid/786c854a-6b96-49c8-b99d-af1b7205bebb /dev/disk/by-uuid/27fc2a2c-f7c5-4458-b4bd-8bd1f1822c12 /dev/disk/by-path/pci-0000:00:1f.2-ata-4.0-part2 /dev/disk/by-id/wwn-0x500a0751e21350e2-part2 /dev/disk/by-id/ata-CT500MX500SSD4_1928E21350E2-part2 /dev/disk/by-path/pci-0000:00:1f.2-ata-4-part2",
1026 "DEVNAME": "/dev/sda2",
1027 "DEVPATH": "/devices/pci0000:00/0000:00:1f.2/ata4/host3/target3:0:0/3:0:0:0/block/sda/sda2",
1028 "DEVTYPE": "partition",
1029 "DISKSEQ": "9",
1030 "ID_ATA": "1",
1031 "ID_ATA_DOWNLOAD_MICROCODE": "1",
1032 "ID_ATA_FEATURE_SET_APM": "1",
1033 "ID_ATA_FEATURE_SET_APM_CURRENT_VALUE": "254",
1034 "ID_ATA_FEATURE_SET_APM_ENABLED": "1",
1035 "ID_ATA_FEATURE_SET_PM": "1",
1036 "ID_ATA_FEATURE_SET_PM_ENABLED": "1",
1037 "ID_ATA_FEATURE_SET_SECURITY": "1",
1038 "ID_ATA_FEATURE_SET_SECURITY_ENABLED": "0",
1039 "ID_ATA_FEATURE_SET_SECURITY_ENHANCED_ERASE_UNIT_MIN": "2",
1040 "ID_ATA_FEATURE_SET_SECURITY_ERASE_UNIT_MIN": "2",
1041 "ID_ATA_FEATURE_SET_SECURITY_FROZEN": "1",
1042 "ID_ATA_FEATURE_SET_SMART": "1",
1043 "ID_ATA_FEATURE_SET_SMART_ENABLED": "1",
1044 "ID_ATA_ROTATION_RATE_RPM": "0",
1045 "ID_ATA_SATA": "1",
1046 "ID_ATA_SATA_SIGNAL_RATE_GEN1": "1",
1047 "ID_ATA_SATA_SIGNAL_RATE_GEN2": "1",
1048 "ID_ATA_WRITE_CACHE": "1",
1049 "ID_ATA_WRITE_CACHE_ENABLED": "1",
1050 "ID_BUS": "ata",
1051 "ID_FS_TYPE": "ext4",
1052 "ID_FS_USAGE": "filesystem",
1053 "ID_FS_UUID": "27fc2a2c-f7c5-4458-b4bd-8bd1f1822c12",
1054 "ID_FS_UUID_ENC": "27fc2a2c-f7c5-4458-b4bd-8bd1f1822c12",
1055 "ID_FS_VERSION": "1.0",
1056 "ID_MODEL": "CT500MX500SSD4",
1057 "ID_MODEL_ENC": "CT500MX500SSD4\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20",
1058 "ID_PART_ENTRY_DISK": "8:0",
1059 "ID_PART_ENTRY_NUMBER": "2",
1060 "ID_PART_ENTRY_OFFSET": "2203648",
1061 "ID_PART_ENTRY_SCHEME": "gpt",
1062 "ID_PART_ENTRY_SIZE": "4194304",
1063 "ID_PART_ENTRY_TYPE": "0fc63daf-8483-4772-8e79-3d69d8477de4",
1064 "ID_PART_ENTRY_UUID": "786c854a-6b96-49c8-b99d-af1b7205bebb",
1065 "ID_PART_TABLE_TYPE": "gpt",
1066 "ID_PART_TABLE_UUID": "4ed9f6c2-620c-4b7e-997d-2f5c14d45402",
1067 "ID_PATH": "pci-0000:00:1f.2-ata-4.0",
1068 "ID_PATH_ATA_COMPAT": "pci-0000:00:1f.2-ata-4",
1069 "ID_PATH_TAG": "pci-0000_00_1f_2-ata-4_0",
1070 "ID_REVISION": "M3CR023",
1071 "ID_SERIAL": "CT500MX500SSD4_1928E21350E2",
1072 "ID_SERIAL_SHORT": "1928E21350E2",
1073 "ID_TYPE": "disk",
1074 "ID_WWN": "0x500a0751e21350e2",
1075 "ID_WWN_WITH_EXTENSION": "0x500a0751e21350e2",
1076 "MAJOR": "8",
1077 "MINOR": "2",
1078 "PARTN": "2",
1079 "SUBSYSTEM": "block",
1080 "TAGS": ":systemd:",
1081 "USEC_INITIALIZED": "2130845",
1082 "attrs": {
1083 "alignment_offset": "0",
1084 "dev": "8:2",
1085 "discard_alignment": "0",
1086 "inflight": " 0 0",
1087 "partition": "2",
1088 "power/async": "disabled",
1089 "power/autosuspend_delay_ms": null,
1090 "power/control": "auto",
1091 "power/runtime_active_kids": "0",
1092 "power/runtime_active_time": "0",
1093 "power/runtime_enabled": "disabled",
1094 "power/runtime_status": "unsupported",
1095 "power/runtime_suspended_time": "0",
1096 "power/runtime_usage": "0",
1097 "ro": "0",
1098 "size": "2147483648",
1099 "start": "2203648",
1100 "stat": " 184 0 16176 58 6 0 0 1 0 188 60 0 0 0 0 0 0",
1101 "subsystem": "block",
1102 "trace/act_mask": "disabled",
1103 "trace/enable": "0",
1104 "trace/end_lba": "disabled",
1105 "trace/pid": "disabled",
1106 "trace/start_lba": "disabled",
1107 "uevent": "MAJOR=8\nMINOR=2\nDEVNAME=sda2\nDEVTYPE=partition\nDISKSEQ=9\nPARTN=2"
1108 }
1109 },
1110 "/dev/sda3": {
1111 "CURRENT_TAGS": ":systemd:",
1112 "DEVLINKS": "/dev/disk/by-id/ata-CT500MX500SSD4_1928E21350E2-part3 /dev/disk/by-id/wwn-0x500a0751e21350e2-part3 /dev/disk/by-path/pci-0000:00:1f.2-ata-4-part3 /dev/disk/by-path/pci-0000:00:1f.2-ata-4.0-part3 /dev/disk/by-id/lvm-pv-uuid-VwZ2D9-0XYj-qEDO-daxX-jl8g-INjt-1fudZF /dev/disk/by-partuuid/21445e85-0437-4c67-a5eb-d0d9bb11eab1",
1113 "DEVNAME": "/dev/sda3",
1114 "DEVPATH": "/devices/pci0000:00/0000:00:1f.2/ata4/host3/target3:0:0/3:0:0:0/block/sda/sda3",
1115 "DEVTYPE": "partition",
1116 "DISKSEQ": "9",
1117 "ID_ATA": "1",
1118 "ID_ATA_DOWNLOAD_MICROCODE": "1",
1119 "ID_ATA_FEATURE_SET_APM": "1",
1120 "ID_ATA_FEATURE_SET_APM_CURRENT_VALUE": "254",
1121 "ID_ATA_FEATURE_SET_APM_ENABLED": "1",
1122 "ID_ATA_FEATURE_SET_PM": "1",
1123 "ID_ATA_FEATURE_SET_PM_ENABLED": "1",
1124 "ID_ATA_FEATURE_SET_SECURITY": "1",
1125 "ID_ATA_FEATURE_SET_SECURITY_ENABLED": "0",
1126 "ID_ATA_FEATURE_SET_SECURITY_ENHANCED_ERASE_UNIT_MIN": "2",
1127 "ID_ATA_FEATURE_SET_SECURITY_ERASE_UNIT_MIN": "2",
1128 "ID_ATA_FEATURE_SET_SECURITY_FROZEN": "1",
1129 "ID_ATA_FEATURE_SET_SMART": "1",
1130 "ID_ATA_FEATURE_SET_SMART_ENABLED": "1",
1131 "ID_ATA_ROTATION_RATE_RPM": "0",
1132 "ID_ATA_SATA": "1",
1133 "ID_ATA_SATA_SIGNAL_RATE_GEN1": "1",
1134 "ID_ATA_SATA_SIGNAL_RATE_GEN2": "1",
1135 "ID_ATA_WRITE_CACHE": "1",
1136 "ID_ATA_WRITE_CACHE_ENABLED": "1",
1137 "ID_BUS": "ata",
1138 "ID_FS_TYPE": "LVM2_member",
1139 "ID_FS_USAGE": "raid",
1140 "ID_FS_UUID": "VwZ2D9-0XYj-qEDO-daxX-jl8g-INjt-1fudZF",
1141 "ID_FS_UUID_ENC": "VwZ2D9-0XYj-qEDO-daxX-jl8g-INjt-1fudZF",
1142 "ID_FS_VERSION": "LVM2 001",
1143 "ID_MODEL": "CT500MX500SSD4",
1144 "ID_MODEL_ENC": "CT500MX500SSD4\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20",
1145 "ID_PART_ENTRY_DISK": "8:0",
1146 "ID_PART_ENTRY_NUMBER": "3",
1147 "ID_PART_ENTRY_OFFSET": "6397952",
1148 "ID_PART_ENTRY_SCHEME": "gpt",
1149 "ID_PART_ENTRY_SIZE": "970373120",
1150 "ID_PART_ENTRY_TYPE": "0fc63daf-8483-4772-8e79-3d69d8477de4",
1151 "ID_PART_ENTRY_UUID": "21445e85-0437-4c67-a5eb-d0d9bb11eab1",
1152 "ID_PART_TABLE_TYPE": "gpt",
1153 "ID_PART_TABLE_UUID": "4ed9f6c2-620c-4b7e-997d-2f5c14d45402",
1154 "ID_PATH": "pci-0000:00:1f.2-ata-4.0",
1155 "ID_PATH_ATA_COMPAT": "pci-0000:00:1f.2-ata-4",
1156 "ID_PATH_TAG": "pci-0000_00_1f_2-ata-4_0",
1157 "ID_REVISION": "M3CR023",
1158 "ID_SERIAL": "CT500MX500SSD4_1928E21350E2",
1159 "ID_SERIAL_SHORT": "1928E21350E2",
1160 "ID_TYPE": "disk",
1161 "ID_WWN": "0x500a0751e21350e2",
1162 "ID_WWN_WITH_EXTENSION": "0x500a0751e21350e2",
1163 "MAJOR": "8",
1164 "MINOR": "3",
1165 "PARTN": "3",
1166 "SUBSYSTEM": "block",
1167 "TAGS": ":systemd:",
1168 "USEC_INITIALIZED": "2556860",
1169 "attrs": {
1170 "alignment_offset": "0",
1171 "dev": "8:3",
1172 "discard_alignment": "0",
1173 "holders/dm-0": null,
1174 "inflight": " 0 0",
1175 "partition": "3",
1176 "power/async": "disabled",
1177 "power/autosuspend_delay_ms": null,
1178 "power/control": "auto",
1179 "power/runtime_active_kids": "0",
1180 "power/runtime_active_time": "0",
1181 "power/runtime_enabled": "disabled",
1182 "power/runtime_status": "unsupported",
1183 "power/runtime_suspended_time": "0",
1184 "power/runtime_usage": "0",
1185 "ro": "0",
1186 "size": "496831037440",
1187 "start": "6397952",
1188 "stat": " 324 0 28336 93 5 0 0 3 0 224 96 0 0 0 0 0 0",
1189 "subsystem": "block",
1190 "trace/act_mask": "disabled",
1191 "trace/enable": "0",
1192 "trace/end_lba": "disabled",
1193 "trace/pid": "disabled",
1194 "trace/start_lba": "disabled",
1195 "uevent": "MAJOR=8\nMINOR=3\nDEVNAME=sda3\nDEVTYPE=partition\nDISKSEQ=9\nPARTN=3"
1196 }
1197 },
1198 "/dev/dm-0": {
1199 "CURRENT_TAGS": ":systemd:",
1200 "DEVLINKS": "/dev/disk/by-id/dm-name-ubuntu--vg-ubuntu--lv /dev/disk/by-id/dm-uuid-LVM-vjZscAAy83XNNqeEkaGQgHK8Pdy8tBJBJ6R9tnZKbJ8463e1VusW21heH9SdS9Up /dev/ubuntu-vg/ubuntu-lv /dev/mapper/ubuntu--vg-ubuntu--lv /dev/disk/by-uuid/d71c8dc6-92b2-4c28-9aba-95f102280064",
1201 "DEVNAME": "/dev/dm-0",
1202 "DEVPATH": "/devices/virtual/block/dm-0",
1203 "DEVTYPE": "disk",
1204 "DISKSEQ": "10",
1205 "DM_LV_NAME": "ubuntu-lv",
1206 "DM_NAME": "ubuntu--vg-ubuntu--lv",
1207 "DM_SUSPENDED": "0",
1208 "DM_UDEV_DISABLE_LIBRARY_FALLBACK_FLAG": "1",
1209 "DM_UDEV_PRIMARY_SOURCE_FLAG": "1",
1210 "DM_UDEV_RULES": "1",
1211 "DM_UDEV_RULES_VSN": "2",
1212 "DM_UUID": "LVM-vjZscAAy83XNNqeEkaGQgHK8Pdy8tBJBJ6R9tnZKbJ8463e1VusW21heH9SdS9Up",
1213 "DM_VG_NAME": "ubuntu-vg",
1214 "ID_FS_TYPE": "ext4",
1215 "ID_FS_USAGE": "filesystem",
1216 "ID_FS_UUID": "d71c8dc6-92b2-4c28-9aba-95f102280064",
1217 "ID_FS_UUID_ENC": "d71c8dc6-92b2-4c28-9aba-95f102280064",
1218 "ID_FS_VERSION": "1.0",
1219 "MAJOR": "253",
1220 "MINOR": "0",
1221 "SUBSYSTEM": "block",
1222 "SYSTEMD_READY": "1",
1223 "TAGS": ":systemd:",
1224 "USEC_INITIALIZED": "2570521",
1225 "attrs": {
1226 "alignment_offset": "0",
1227 "bdi": null,
1228 "capability": "4",
1229 "dev": "253:0",
1230 "discard_alignment": "0",
1231 "diskseq": "10",
1232 "dm/name": "ubuntu--vg-ubuntu--lv",
1233 "dm/rq_based_seq_io_merge_deadline": "0",
1234 "dm/suspended": "0",
1235 "dm/use_blk_mq": "1",
1236 "dm/uuid": "LVM-vjZscAAy83XNNqeEkaGQgHK8Pdy8tBJBJ6R9tnZKbJ8463e1VusW21heH9SdS9Up",
1237 "events": "",
1238 "events_async": "",
1239 "events_poll_msecs": "-1",
1240 "ext_range": "1",
1241 "hidden": "0",
1242 "inflight": " 0 0",
1243 "integrity/device_is_integrity_capable": "0",
1244 "integrity/format": "none",
1245 "integrity/protection_interval_bytes": "0",
1246 "integrity/read_verify": "0",
1247 "integrity/tag_size": "0",
1248 "integrity/write_generate": "0",
1249 "power/async": "disabled",
1250 "power/autosuspend_delay_ms": null,
1251 "power/control": "auto",
1252 "power/runtime_active_kids": "0",
1253 "power/runtime_active_time": "0",
1254 "power/runtime_enabled": "disabled",
1255 "power/runtime_status": "unsupported",
1256 "power/runtime_suspended_time": "0",
1257 "power/runtime_usage": "0",
1258 "queue/add_random": "0",
1259 "queue/chunk_sectors": "0",
1260 "queue/dax": "0",
1261 "queue/discard_granularity": "4096",
1262 "queue/discard_max_bytes": "2147450880",
1263 "queue/discard_max_hw_bytes": "2147450880",
1264 "queue/discard_zeroes_data": "0",
1265 "queue/dma_alignment": "511",
1266 "queue/fua": "0",
1267 "queue/hw_sector_size": "512",
1268 "queue/io_poll": "0",
1269 "queue/io_poll_delay": "0",
1270 "queue/iostats": "0",
1271 "queue/logical_block_size": "512",
1272 "queue/max_discard_segments": "1",
1273 "queue/max_hw_sectors_kb": "32767",
1274 "queue/max_integrity_segments": "0",
1275 "queue/max_sectors_kb": "1280",
1276 "queue/max_segment_size": "65536",
1277 "queue/max_segments": "168",
1278 "queue/minimum_io_size": "4096",
1279 "queue/nomerges": "0",
1280 "queue/nr_requests": "128",
1281 "queue/nr_zones": "0",
1282 "queue/optimal_io_size": "0",
1283 "queue/physical_block_size": "4096",
1284 "queue/read_ahead_kb": "128",
1285 "queue/rotational": "0",
1286 "queue/rq_affinity": "0",
1287 "queue/scheduler": "none",
1288 "queue/stable_writes": "0",
1289 "queue/virt_boundary_mask": "0",
1290 "queue/wbt_lat_usec": null,
1291 "queue/write_cache": "write back",
1292 "queue/write_same_max_bytes": "0",
1293 "queue/write_zeroes_max_bytes": "0",
1294 "queue/zone_append_max_bytes": "0",
1295 "queue/zone_write_granularity": "0",
1296 "queue/zoned": "none",
1297 "range": "1",
1298 "removable": "0",
1299 "ro": "0",
1300 "size": "107374182400",
1301 "slaves/sda3": null,
1302 "stat": " 266 0 12712 40 5 0 0 8 0 104 48 0 0 0 0 0 0",
1303 "subsystem": "block",
1304 "trace/act_mask": "disabled",
1305 "trace/enable": "0",
1306 "trace/end_lba": "disabled",
1307 "trace/pid": "disabled",
1308 "trace/start_lba": "disabled",
1309 "uevent": "MAJOR=253\nMINOR=0\nDEVNAME=dm-0\nDEVTYPE=disk\nDISKSEQ=10"
1310 }
1311 },
1312 "/dev/dm-1": {
1313 "CURRENT_TAGS": ":systemd:",
1314 "DEVLINKS": "/dev/mapper/ventoy",
1315 "DEVNAME": "/dev/dm-1",
1316 "DEVPATH": "/devices/virtual/block/dm-1",
1317 "DEVTYPE": "disk",
1318 "DISKSEQ": "12",
1319 "DM_NAME": "ventoy",
1320 "DM_SUSPENDED": "0",
1321 "DM_UDEV_DISABLE_DISK_RULES_FLAG": "1",
1322 "DM_UDEV_DISABLE_OTHER_RULES_FLAG": "1",
1323 "DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG": "1",
1324 "DM_UDEV_RULES": "1",
1325 "DM_UDEV_RULES_VSN": "2",
1326 "MAJOR": "253",
1327 "MINOR": "1",
1328 "SUBSYSTEM": "block",
1329 "TAGS": ":systemd:",
1330 "USEC_INITIALIZED": "4473234",
1331 "attrs": {
1332 "alignment_offset": "0",
1333 "bdi": null,
1334 "capability": "4",
1335 "dev": "253:1",
1336 "discard_alignment": "0",
1337 "diskseq": "12",
1338 "dm/name": "ventoy",
1339 "dm/rq_based_seq_io_merge_deadline": "0",
1340 "dm/suspended": "0",
1341 "dm/use_blk_mq": "1",
1342 "dm/uuid": "",
1343 "events": "",
1344 "events_async": "",
1345 "events_poll_msecs": "-1",
1346 "ext_range": "1",
1347 "hidden": "0",
1348 "inflight": " 3 0",
1349 "integrity/device_is_integrity_capable": "0",
1350 "integrity/format": "none",
1351 "integrity/protection_interval_bytes": "0",
1352 "integrity/read_verify": "0",
1353 "integrity/tag_size": "0",
1354 "integrity/write_generate": "0",
1355 "power/async": "disabled",
1356 "power/autosuspend_delay_ms": null,
1357 "power/control": "auto",
1358 "power/runtime_active_kids": "0",
1359 "power/runtime_active_time": "0",
1360 "power/runtime_enabled": "disabled",
1361 "power/runtime_status": "unsupported",
1362 "power/runtime_suspended_time": "0",
1363 "power/runtime_usage": "0",
1364 "queue/add_random": "0",
1365 "queue/chunk_sectors": "0",
1366 "queue/dax": "0",
1367 "queue/discard_granularity": "0",
1368 "queue/discard_max_bytes": "0",
1369 "queue/discard_max_hw_bytes": "0",
1370 "queue/discard_zeroes_data": "0",
1371 "queue/dma_alignment": "511",
1372 "queue/fua": "0",
1373 "queue/hw_sector_size": "512",
1374 "queue/io_poll": "0",
1375 "queue/io_poll_delay": "0",
1376 "queue/iostats": "0",
1377 "queue/logical_block_size": "512",
1378 "queue/max_discard_segments": "1",
1379 "queue/max_hw_sectors_kb": "1024",
1380 "queue/max_integrity_segments": "0",
1381 "queue/max_sectors_kb": "1024",
1382 "queue/max_segment_size": "65536",
1383 "queue/max_segments": "2048",
1384 "queue/minimum_io_size": "512",
1385 "queue/nomerges": "0",
1386 "queue/nr_requests": "128",
1387 "queue/nr_zones": "0",
1388 "queue/optimal_io_size": "0",
1389 "queue/physical_block_size": "512",
1390 "queue/read_ahead_kb": "128",
1391 "queue/rotational": "1",
1392 "queue/rq_affinity": "0",
1393 "queue/scheduler": "none",
1394 "queue/stable_writes": "0",
1395 "queue/virt_boundary_mask": "0",
1396 "queue/wbt_lat_usec": null,
1397 "queue/write_cache": "write through",
1398 "queue/write_same_max_bytes": "0",
1399 "queue/write_zeroes_max_bytes": "0",
1400 "queue/zone_append_max_bytes": "0",
1401 "queue/zone_write_granularity": "0",
1402 "queue/zoned": "none",
1403 "range": "1",
1404 "removable": "0",
1405 "ro": "0",
1406 "size": "4839829504",
1407 "slaves/sdb1": null,
1408 "stat": " 15628 0 2364154 38764 0 0 0 0 3 33900 38764 0 0 0 0 0 0",
1409 "subsystem": "block",
1410 "trace/act_mask": "disabled",
1411 "trace/enable": "0",
1412 "trace/end_lba": "disabled",
1413 "trace/pid": "disabled",
1414 "trace/start_lba": "disabled",
1415 "uevent": "MAJOR=253\nMINOR=1\nDEVNAME=dm-1\nDEVTYPE=disk\nDISKSEQ=12"
1416 },
1417 "partitiontable": {
1418 "label": "gpt",
1419 "id": "ACA58DA5-EEF8-4E61-A479-A4A7B29BED12",
1420 "device": "/dev/dm-1",
1421 "unit": "sectors",
1422 "firstlba": 64,
1423 "lastlba": 9452728,
1424 "table-length": "248",
1425 "sectorsize": 512,
1426 "partitions": [
1427 {
1428 "node": "/dev/mapper/ventoy-part1",
1429 "start": 64,
1430 "size": 9441996,
1431 "type": "EBD0A0A2-B9E5-4433-87C0-68B6B72699C7",
1432 "uuid": "ACA58DA5-EEF8-4E61-A478-A4A7B29BED12",
1433 "name": "ISO9660",
1434 "attrs": "RequiredPartition GUID:60"
1435 },
1436 {
1437 "node": "/dev/mapper/ventoy-part2",
1438 "start": 9442060,
1439 "size": 10068,
1440 "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B",
1441 "uuid": "ACA58DA5-EEF8-4E61-A47B-A4A7B29BED12",
1442 "name": "Appended2"
1443 },
1444 {
1445 "node": "/dev/mapper/ventoy-part3",
1446 "start": 9452128,
1447 "size": 600,
1448 "type": "EBD0A0A2-B9E5-4433-87C0-68B6B72699C7",
1449 "uuid": "ACA58DA5-EEF8-4E61-A47A-A4A7B29BED12",
1450 "name": "Gap1",
1451 "attrs": "RequiredPartition GUID:60"
1452 }
1453 ]
1454 }
1455 }
1456 },
1457 "dmcrypt": {}
1458}
0\ No newline at end of file1459\ No newline at end of file
diff --git a/tests/unittests/test_storage_config.py b/tests/unittests/test_storage_config.py
index 71cd528..a538ece 100644
--- a/tests/unittests/test_storage_config.py
+++ b/tests/unittests/test_storage_config.py
@@ -8,6 +8,7 @@ from curtin.storage_config import (BcacheParser, BlockdevParser, DasdParser,
8 DmcryptParser, FilesystemParser, LvmParser,8 DmcryptParser, FilesystemParser, LvmParser,
9 RaidParser, MountParser, ZfsParser)9 RaidParser, MountParser, ZfsParser)
10from curtin.storage_config import ptable_uuid_to_flag_entry, select_configs10from curtin.storage_config import ptable_uuid_to_flag_entry, select_configs
11from curtin.storage_config import LOG as SCLogger
11from curtin import util12from curtin import util
1213
1314
@@ -906,6 +907,17 @@ class TestMountParser(CiTestCase):
906 self.assertEqual(4, len(configs))907 self.assertEqual(4, len(configs))
907 self.assertEqual(0, len(errors))908 self.assertEqual(0, len(errors))
908909
910 @skipUnlessJsonSchema()
911 def test_mount_ignore_ventoy(self):
912 probe_data = _get_data('probert_storage_ventoy.json')
913 mountp = MountParser(probe_data)
914 with self.assertLogs(SCLogger, level='WARN') as warn:
915 configs, errors = mountp.parse()
916 self.assertEqual(0, len(configs))
917 self.assertEqual(0, len(errors))
918 self.assertIn('ignoring mount for device /dev/dm-1',
919 [record.getMessage() for record in warn.records])
920
909921
910class TestZfsParser(CiTestCase):922class TestZfsParser(CiTestCase):
911923
@@ -1138,6 +1150,19 @@ class TestExtractStorageConfig(CiTestCase):
1138 self.assertEqual(1, len(bitlocker))1150 self.assertEqual(1, len(bitlocker))
1139 self.assertEqual(expected_dict, bitlocker[0])1151 self.assertEqual(expected_dict, bitlocker[0])
11401152
1153 @skipUnlessJsonSchema()
1154 def test_booted_using_ventoy(self):
1155 # Make sure we ignore the ventoy DM device and partitions
1156 self.probe_data = _get_data('probert_storage_ventoy.json')
1157 extracted = storage_config.extract_storage_config(self.probe_data)
1158 config = extracted['storage']['config']
1159 for disk in [cfg for cfg in config if cfg['type'] == 'disk']:
1160 self.assertNotEqual(disk['path'], '/dev/mapper/ventoy')
1161 self.assertNotEqual(disk['path'], '/dev/dm-1')
1162 for part in [cfg for cfg in config if cfg['type'] == 'partition']:
1163 self.assertFalse(
1164 part['path'].startswith('/dev/mapper/ventoy-part'))
1165
11411166
1142class TestSelectConfigs(CiTestCase):1167class TestSelectConfigs(CiTestCase):
1143 def test_basic(self):1168 def test_basic(self):

Subscribers

People subscribed via source and target branches