#3637 PR merged: Tell what happens for unsupported filesystems

Labels: enhancement

jsmeix opened issue at 2026-09-14 13:08:

  • Type: Enhancement

  • Impact: Low and High

Low because only LogPrint messages cannot make things fail.

High because without it ReaR is silently excluding stuff
that it is not able to handle (unsupported filesystems in this case).

  • Reference to related issue (URL):

https://github.com/rear/rear/pull/3632#issuecomment-5664168360

  • How was this pull request tested?

See at the end of
https://github.com/rear/rear/pull/3632#issuecomment-5664168360
and see below
https://github.com/rear/rear/pull/3637#issuecomment-5679880943
and
https://github.com/rear/rear/pull/3637#issuecomment-5697315145

- Description of the changes in this pull request:

In layout/save/GNU/Linux/230_filesystem_layout.sh
inform the user about the supported filesystems and
check and report if there are unsupported filesystems in use
and tell what happens for unsupported filesystems

codacy-production commented at 2026-09-14 13:09:

Up to standards ✅

🟢 Issues 0 issues >
> > **Results:** > `0` new issues > > [View in > Codacy](https://app.codacy.com/gh/rear/rear/pull-requests/3637/issues) >

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

jsmeix commented at 2026-09-15 07:53:

@rear/contributors
unless there are strong objections
I would like to merge it tomorrow afternoon.

This is not meant as a final solution
but as band-aid for now to help the user, see
https://github.com/rear/rear/pull/3632#issuecomment-5664168360

jsmeix commented at 2026-09-15 11:59:

I enhanced it via
https://github.com/rear/rear/pull/3637/commits/f4924c46206d2d4c9abd9384c5f288dc5331bafe

Now it also checks if there are unsupported filesystems in use
and if yes it reports it as LogPrintError.

This is only an initial "best effort" attempt
so for now it only report used unsupported filesystems
but it does not yet error out to avoid false error exits
long as it is unknown how reliable this functionality
actually works out there in practice, cf.
https://github.com/rear/rear/pull/3632#issuecomment-5664598315

jsmeix commented at 2026-09-15 12:06:

How it looks on my test VM with ZFS on /dev/vdb in
https://github.com/rear/rear/pull/3632#issuecomment-5664168360

localhost:/myzfspool/rear.github.master # findmnt -mnv --real -o FSTYPE | sort -u
btrfs
ext4
fuse.portal
zfs


localhost:/myzfspool/rear.github.master # usr/sbin/rear -v mkrescue
...
Creating disk layout
Overwriting existing disk layout file /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
Supported filesystems: ext2,ext3,ext4,vfat,xfs,reiserfs,btrfs (what belongs to unsupported filesystems gets automatically excluded)
Unsupported filesystem 'zfs' in use (supported filesystems: ext2,ext3,ext4,vfat,xfs,reiserfs,btrfs)
SLES12-SP1 (and later) btrfs subvolumes setup needed for /dev/vda2 (default subvolume path contains '@/.snapshots/')
Added  /dev/vda2 to BTRFS_SUBVOLUME_SLES_SETUP in /var/tmp/rear.F4ygclY5kjuTzzU/rootfs/etc/rear/rescue.conf
Excluding component fs:/other in EXCLUDE_RECREATE
Disabling component 'disk /dev/vdb' in /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
Disabling component 'part /dev/vdb' in /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
Disabling component 'disk /dev/vdc' in /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
Disabling component 'part /dev/vdc' in /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
Disabling component 'fs ... /other' in /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
...

How it looks on my workstation with UEFI and LUKS encryption:

localhost:~/rear.github.master # lsblk -ipo NAME,TRAN,TYPE,FSTYPE,SIZE,MOUNTPOINTS
NAME                    TRAN   TYPE  FSTYPE        SIZE MOUNTPOINTS
/dev/nvme0n1            nvme   disk              465.8G 
|-/dev/nvme0n1p1        nvme   part  vfat          511M /boot/efi
|-/dev/nvme0n1p2        nvme   part  crypto_LUKS   400G 
| `-/dev/mapper/cr_root        crypt ext4          400G /
|-/dev/nvme0n1p3        nvme   part  crypto_LUKS    16G 
| `-/dev/mapper/cr_swap        crypt swap           16G [SWAP]
`-/dev/nvme0n1p4        nvme   part  ext4         33.5G /other


localhost:~/rear.github.master # findmnt -mnv --real -o FSTYPE | sort -u
ext4
vfat


localhost:~/rear.github.master # usr/sbin/rear -v mkrescue
...
Creating disk layout
Supported filesystems: ext2,ext3,ext4,vfat,xfs,reiserfs,btrfs (what belongs to unsupported filesystems gets automatically excluded)
Excluding component fs:/other in EXCLUDE_RECREATE
Disabling component 'fs ... /other' in /root/rear.github.master/var/lib/rear/layout/disklayout.conf
...

jsmeix commented at 2026-09-16 12:11:

With my recent
https://github.com/rear/rear/pull/3637/changes/4d0911f1abd8a7e4c7f50c24498480484d468066
I improved its user related behaviour
(but no changes in actual functionality):

Do not report used unsupported filesystems as LogPrintError
because the user may have excluded what belongs to it
and then the LogPrintError message would needlessly
still be shown to the user in any case.

Check if findmnt is available to show a generic fallback
user information about unsupported filesystems
if findmnt is not available.

jsmeix commented at 2026-09-16 12:20:

How it looks with recent changes
on my test VM with ZFS on /dev/vdb in
https://github.com/rear/rear/pull/3632#issuecomment-5664168360

# usr/sbin/rear -v mkrescue
...
Creating disk layout
Overwriting existing disk layout file /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
Supported filesystems: ext2,ext3,ext4,vfat,xfs,reiserfs,btrfs
Unsupported filesystem 'zfs' in use (what belongs to 'zfs' gets excluded)
SLES12-SP1 (and later) btrfs subvolumes setup needed for /dev/vda2 (default subvolume path contains '@/.snapshots/')
Added  /dev/vda2 to BTRFS_SUBVOLUME_SLES_SETUP in /var/tmp/rear.loN2rQAvQjbTHc0/rootfs/etc/rear/rescue.conf
Excluding component fs:/other in EXCLUDE_RECREATE
Disabling component 'disk /dev/vdb' in /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
Disabling component 'part /dev/vdb' in /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
Disabling component 'disk /dev/vdc' in /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
Disabling component 'part /dev/vdc' in /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
Disabling component 'fs ... /other' in /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf

On the same system but now with

EXCLUDE_COMPONENTS+=( /dev/vdb )

in etc/rear/local.conf

# usr/sbin/rear -v mkrescue
...
Creating disk layout
Overwriting existing disk layout file /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
Supported filesystems: ext2,ext3,ext4,vfat,xfs,reiserfs,btrfs
Unsupported filesystem 'zfs' in use (what belongs to 'zfs' gets excluded)
SLES12-SP1 (and later) btrfs subvolumes setup needed for /dev/vda2 (default subvolume path contains '@/.snapshots/')
Added  /dev/vda2 to BTRFS_SUBVOLUME_SLES_SETUP in /var/tmp/rear.yvULXZOccTqZhYb/rootfs/etc/rear/rescue.conf
Excluding component /dev/vdb in EXCLUDE_COMPONENTS
Excluding component fs:/other in EXCLUDE_RECREATE
Disabling component 'disk /dev/vdb' in /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
Disabling component 'part /dev/vdb' in /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
Disabling component 'disk /dev/vdc' in /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
Disabling component 'part /dev/vdc' in /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
Disabling component 'fs ... /other' in /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf

Again same system but when findmnt is not available

# mv /usr/bin/findmnt /usr/bin/findmnt.away

# usr/sbin/rear -v mkrescue
...
Creating disk layout
Overwriting existing disk layout file /myzfspool/rear.github.master/var/lib/rear/layout/disklayout.conf
Supported filesystems: ext2,ext3,ext4,vfat,xfs,reiserfs,btrfs
What belongs to unsupported filesystems gets excluded
SLES12-SP1 (and later) btrfs subvolumes setup needed for /dev/vda2 (default subvolume path contains '@/.snapshots/')
...

jsmeix commented at 2026-09-16 12:21:

I will merge it right now...


[Export of Github issue for rear/rear.]