Commit 71fcbe5
committed
blockdev: handle ZFS dataset sources in list_dev_by_dir
ZFS filesystems report their mount source as a dataset name
(e.g. 'rpool/root') rather than a block device path. Passing
this to lsblk causes it to fail with 'not a block device',
breaking bootc status and bootc upgrade on ZFS-rooted systems.
Add list_dev_for_zfs_dataset() which extracts the pool name and
queries 'zpool list -H -v -P <pool>' to find the underlying block
device path, then delegates to list_dev() as normal.
Detect ZFS sources in list_dev_by_dir() via fstype=='zfs' or by
a non-absolute path containing '/' (dataset name form).
Fixes: #1240
Signed-off-by: James Reilly <jreilly1821@gmail.com>
Assisted-by: GitHub Copilot (claude-sonnet-4-6)1 parent b1fe5d6 commit 71fcbe5
1 file changed
+30
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
382 | 382 | | |
383 | 383 | | |
384 | 384 | | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
385 | 410 | | |
386 | 411 | | |
387 | 412 | | |
388 | | - | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
389 | 418 | | |
390 | 419 | | |
391 | 420 | | |
| |||
0 commit comments