ODROID-HC4: Btrfs errors on both-disk storage after power outage

I’m running Syncloud on an ODROID-HC4, booting from microSD, with two Seagate ST4000NE001-2MA1 drives. After a power outage, SSH and the web interface were initially unavailable. The system now boots and Nextcloud is accessible, but Syncloud’s storage page shows a red exclamation mark for both disks.

I have not formatted, initialized, rebuilt, scrubbed, or repaired anything. I’d like to avoid further reboots if possible, since the HDDs are connected and the system has already been restarted several times.

What I’ve found so far:

  • The drives appear as /dev/sda and /dev/sdb.
  • /dev/sda is mounted as Btrfs at /opt/disk/external.
  • The mounted filesystem’s Btrfs sysfs device list includes both drives.
  • System logs report Btrfs errors on sdb, including parent transid verify failed and error loading props.
  • /proc/mdstat is missing, so I can’t confirm the storage profile.
  • The microSD root partition, /dev/mmcblk0p2, has reported ext4 errors: bad block bitmap checksum and a corrupted orphan inode list.
  • btrfs and smartctl are not installed.

Updates and backups:

  • Syncloud System update to version 3165 completed.
  • Syncloud app updates completed except for two apps, which I’ve deactivated.
  • Nextcloud update from version 1014 to 1036 failed twice.
  • Syncloud’s built-in backup function completed successfully.

Could you suggest a safe, preferably read-only and no-reboot set of diagnostics to run, and advise what output or logs to share? In particular, I’d like to:

  1. Confirm the intended storage layout/profile and which devices belong to the filesystem.
  2. Check both HDDs’ health and determine whether the Btrfs errors suggest a failing disk or filesystem damage.
  3. Assess the microSD/ext4 errors without risking the data.
  4. Find logs or details that may explain the failed Nextcloud update.

Please identify any commands that are strictly read-only and flag anything that could write to the disks or make recovery harder. I can share relevant command output and logs here, with personal information removed.

Thanks for the report, I went through your logs.

The errors come from the second disk slot (sdb): its SATA connection keeps resetting under load, and only while the Nextcloud updates were running. The first disk has no such errors. Your two disks mirror each other, so the data has a second copy.

First, a simple test to see whether it is the disk or the slot:

  1. Copy anything you cannot lose off the device first. The built-in backup saves app settings, not your Nextcloud files, and it is stored on these same disks.
  2. Shut down, unplug the power, swap the two disks between the slots, and boot. Swapping is safe: Btrfs finds its disks by ID, not by slot.
  3. Do not retry the Nextcloud update yet - it reads the whole disk.
  4. Use the device normally for a while, then send a new device report from Settings - Support.

If the errors move with the disk, the disk is the problem. If they stay on the second slot, it is the board or its power.

If /data does not come up after the swap, stop there and post here - please do not try to mount it by hand.