Bug 2180041
| Summary: | ReaR fails while verifying the disklayout when a disk has a 0 size | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Renaud Métrich <rmetrich> |
| Component: | rear | Assignee: | Pavel Cahyna <pcahyna> |
| Status: | ASSIGNED --- | QA Contact: | CS System Management SST QE <rhel-cs-system-management-subsystem-qe> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 8.7 | CC: | casantos, ovasik, pcahyna |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | Type: | Bug | |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
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] |
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.