Richard W.M. Jones d9f4ab8dc6 daemon: inspect: Remove duplicate root mountpoints in /etc/fstab
A customer case was found where /etc/fstab contained multiple root
mountpoints, something like:

  LABEL=System / xfs ...
  LABEL=Boot /boot ext2 ...
  LABEL=System / xfs ...

This causes libguestfs and virt-v2v to fail.  Either (on RHEL 9) we
try to mount the second instance of / which gives an error.  Or (on
upstream kernels) we are able to mount the second instance but then
libguestfs gets confused when trying to unmount them.

In this case as the mounted devices are the same we can just delete
the duplicate.  It's also possible that there could be multiple
non-identical root mountpoints, in which case we have to pick one, and
this code arbitrarily picks the first[*] (but emits a warning).

We don't do anything for non-root mountpoints.

Update common submodule to add 'List.same' function from mlstdutils.

[*] Which one is "the first" depends on what version of ocaml-augeas
we are using.  ocaml-augeas version 0.6 Augeas.matches function
returns entries in reverse order (compared to augeas itself).  This is
fixed in version 0.7:
http://git.annexia.org/?p=ocaml-augeas.git;a=commitdiff;h=b703b92e3d26690aa6f7b822132049ce5435983e

Fixes: https://issues.redhat.com/browse/RHEL-90168
(cherry picked from commit 5441d3dd0c)
2025-05-20 08:42:43 +01:00
2023-02-07 10:50:48 +00:00
2023-02-07 10:50:48 +00:00
2023-02-07 10:50:48 +00:00
2023-02-07 10:50:48 +00:00
2023-02-07 10:50:48 +00:00
2021-04-09 14:27:11 +01:00
2023-02-07 10:50:48 +00:00
2023-02-07 10:50:48 +00:00
2023-02-07 10:50:48 +00:00
2023-02-07 10:50:48 +00:00
2024-10-22 16:44:53 +01:00
2023-02-07 10:50:48 +00:00
2023-02-07 10:50:48 +00:00
2023-02-07 10:50:48 +00:00
2018-02-22 15:06:13 +00: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
2020-01-14 16:21:22 +01:00
2024-10-08 14:37:12 +01:00
2019-11-13 12:49:55 +00:00
2023-02-16 11:58:30 +00:00
2023-11-16 10:52:11 +00:00
2023-02-07 10:50:48 +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-2023 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%