Cole Robinson 06db19c56c daemon: inspect: check /etc/crypttab for /dev/mapper/*
Encrypted root fs on SUSE distros will present itself like so:

```
/dev/mapper/cr_root                         /                   btrfs   defaults                0 0
UUID=588905f9-bfa4-47b5-9fe8-893cb8ad4a0b   /var                btrfs   subvol=/@/var           0 0
... more subvols here ...
UUID=8a278363-3042-4dea-a878-592f5e1b7381   swap                btrfs   defaults                0 0
/dev/mapper/cr_root                         /.snapshots         btrfs   subvol=/@/.snapshots    0 0

cr_root  UUID=5289379a-a707-41b5-994c-c383f7ed54cc  none  x-initrd.attach
```

This breaks `-i` inspection, since libguestfs doesn't know what
/dev/mapper/cr_root is supposed to be, and nothing in the appliance
will autopopulate that path. This isn't a problem on Fedora, where
it uses UUID= instead of a /dev/mapper path.

Currently when we see /dev/mapper as a mount prefix, we only attempt
to do some LVM name mapping. This extends libguestfs to check
/etc/crypttab first. If we find an entry for the mapper path, and it
points to the encrypted luks UUID, we use that UUID to build the
associated /dev/disk/by-id/dm-uuid-CRYPT-* path, which is a symlink
to the unencrypted /dev/dm-X path

Resolves: https://issues.redhat.com/browse/RHEL-93584

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2025-08-12 17:55:06 +01:00
2025-06-11 14:26:45 +01:00
2025-05-10 18:29:40 +01:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-08-04 15:49:50 +01:00
2025-02-16 16:57:43 +00:00
2025-02-16 17:00:46 +00:00
2025-06-16 16:54:37 +01:00
2025-06-16 16:54:37 +01:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00
2025-06-11 14:02:36 +01:00
2018-02-22 15:06:13 +00:00
2025-06-11 14:27:19 +01:00
2021-04-08 11:36:40 +01:00
2023-11-16 10:38:59 +00:00
2013-01-24 15:00:49 +00:00
2025-03-22 12:41:39 +00:00
2020-01-14 16:21:22 +01:00
2025-06-16 16:54:37 +01:00
2019-11-13 12:49:55 +00:00
2025-02-16 17:00:46 +00:00
2025-02-16 17:00:46 +00:00

Libguestfs is tools and a library for accessing and modifying guest
disk images.  For more information see the home page:

  http://libguestfs.org/

For discussion, development, patches, etc. please use the mailing
list:

  https://lists.libguestfs.org

To find out how to build libguestfs from source, read:

  docs/guestfs-building.pod
  http://libguestfs.org/guestfs-building.1.html
  man docs/guestfs-building.1

Copyright (C) 2009-2025 Red Hat Inc.

The library is distributed under the LGPLv2+.  The programs are
distributed under the GPLv2+.  Please see the files COPYING and
COPYING.LIB for full license information.  The examples are under a
very liberal license.
Languages
C 42.7%
OCaml 35.5%
Shell 7.1%
Makefile 4%
Perl 2.6%
Other 8%