Hello

This commit caused a regression with LDM devices: https://github.com/libguestfs/libguestfs/commit/86577ee3883836c1c4fff258c05261bd3858e22b

1. list-filesystems double all LDM volumes:

><fs> list-filesystems
/dev/mapper/ldm_vol_AQ-W10-EFI-VM-Dg0_Volume5: ntfs
/dev/sda1: ntfs
/dev/sda2: vfat
/dev/mapper/ldm_vol_AQ-W10-EFI-VM-Dg0_Volume5: ntfs

2. inspect-os in this case detects 2 OSes:

><fs> inspect-os
/dev/mapper/ldm_vol_AQ-W10-EFI-VM-Dg0_Volume5
/dev/mapper/ldm_vol_AQ-W10-EFI-VM-Dg0_Volume5

The issue is that now we explicitly adds DM devices to a list of file systems, but latter we also selectively adds LDM volumes. Which also DM devices:

><fs> list-ldm-volumes
/dev/mapper/ldm_vol_AQ-W10-EFI-VM-Dg0_Volume5

><fs> list-dm-devices
/dev/mapper/ldm_vol_AQ-W10-EFI-VM-Dg0_Volume5

It would be easy to fix leaving only unique file systems eliminating duplicates, however it would not help if LDM contains volumes of type other than simple. Such a volumes consist of LDM partitions which are also DM devices and thus the mentioned patch will include them into a list if file systems but LDM partitions cannot contains file system. Here you can see an example of both cases where list-filesystems returns doubled LDM volumes as well as LDM partitions. Later cannot contains file system:

><fs> list-filesystems
/dev/mapper/ldm_part_WIN-RSVUTBNGR5D-Dg0_Disk1-01: unknown
/dev/mapper/ldm_part_WIN-RSVUTBNGR5D-Dg0_Disk1-02: ntfs
/dev/mapper/ldm_part_WIN-RSVUTBNGR5D-Dg0_Disk2-01: unknown
/dev/mapper/ldm_part_WIN-RSVUTBNGR5D-Dg0_Disk2-02: ntfs
/dev/mapper/ldm_part_WIN-RSVUTBNGR5D-Dg0_Disk3-01: unknown
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume1: ntfs
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume10: ntfs
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume11: ntfs
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume2: ntfs
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume3: ntfs
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume4: ntfs
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume5: vfat
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume6: ntfs
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume7: vfat
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume8: ntfs
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume9: unknown
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume1: ntfs
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume10: ntfs
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume11: ntfs
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume2: ntfs
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume3: ntfs
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume4: ntfs
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume5: vfat
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume6: ntfs
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume7: vfat
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume8: ntfs
/dev/mapper/ldm_vol_WIN-RSVUTBNGR5D-Dg0_Volume9: unknown

--
  Mykola Ivanets