Description of problem: When plugging in a USB multi-card reader (SD / MicroSD) which has no card insert, the device (/dev/sda) has a 0 size. This leads to layout verification to fail: -------- 8< ---------------- 8< ---------------- 8< ---------------- 8< -------- No partition label type for 'disk /dev/sda' (may cause 'rear recover' failure) /dev/sda size 0 is not a positive integer ERROR: ==================== BUG in /root/rear/usr/share/rear/layout/save/default/950_verify_disklayout_file.sh line 254: 'Entries in /root/rear/var/lib/rear/layout/disklayout.conf are broken ('rear recover' would fail)' -------- 8< ---------------- 8< ---------------- 8< ---------------- 8< -------- This happens when AUTOEXCLUDE_DISKS=n (which is not the default). The root cause is the code snippet in /usr/share/rear/layout/save/GNU/Linux/200_partition_layout.sh, which doesn't skip disks with $devsize == 0 : -------- 8< ---------------- 8< ---------------- 8< ---------------- 8< -------- 415 devsize=$(get_disk_size ${disk#/sys/block/}) 416 disktype=$(parted -s $devname print | grep -E "Partition Table|Disk label" | cut -d ":" -f "2" | t r -d " ") : 430 echo "disk $devname $devsize $disktype" -------- 8< ---------------- 8< ---------------- 8< ---------------- 8< -------- This leads to creating entry disk sda 0, which is invalid entry (missing $disktype). I think the solution is to skip those 0 size disks completely. Version-Release number of selected component (if applicable): rear-2.6+ How reproducible: Always, see above.
Looks similar to https://github.com/rear/rear/issues/2810, but that one appeared only with new code added in ReaR 2.7 (PR https://github.com/rear/rear/pull/2804), while this happens with ReaR 2.6. In that issue we were not able to get details of the USB device. @rmetrich can you please provide details about the USB device (lsusb output)?
USB device details: Bus 002 Device 007: ID 8564:4000 Transcend Information, Inc. microSD/SD/CF UHS-II Card Reader [RDF8, RDF9]