An approach I used for USB file mounting issues

Title: [SOLVED] External ext4 USB drive forcing a 20-minute fsck on every mount (Leap 16.0)

Hello openSUSE community,

I recently upgraded to openSUSE Leap 16.0 and ran into a very frustrating issue with my large external USB backup drive (1.8 TB containing over 7.6 million files, formatted as ext4).

Every single time I plugged the drive in or clicked “Mount” in the KDE Plasma GUI, the system would hang and trigger a full file system check (e2fsck) in the background. Because of the massive file count, this dinosaur-era behavior took 20 minutes before the drive actually mounted.

The drive wasn’t in /etc/fstab, so udisks2 and Plasma were handling it on the fly, but the Leap 16.0 upgrade was suddenly strictly enforcing old metadata flags embedded in the ext4 partition header.

Here is the step-by-step fix that successfully stopped the forced scans and brought back instant, modern plug-and-play functionality.

Step 1: Identify the drive partition

Plug in the drive and locate the partition identifier (in my case, it was /dev/sdd2): lsblk

Step 2: Disable the automated metadata counters

The root cause was the file system’s internal “maximum mount count” and “time-based check interval” rules. You can permanently turn these off by running tune2fs as root: sudo tune2fs -c 0 -i 0 /dev/sdd2 Note: This sets the maximal mount count to -1, which is the system’s way of setting it to “infinity” or “disabled.”

Step 3: Clear any “dirty” filesystem flags

If you interrupted the slow GUI scan, the drive will be flagged as “unclean” or “dirty.” To fix this without waiting 20 minutes, unmount the drive and force a fast manual “preen” check to mark it healthy: sudo umount /dev/sdd2 sudo e2fsck -p /dev/sdd2 The output should return clean, indicating the file system is healthy and the flags are reset.

Step 4: Fix KDE Plasma notification history (Optional)

If your Plasma desktop popups are vanishing too quickly before you can read them, right-click the Notification Bell icon in the system tray, go to Notification Settings, and ensure that under Visibility Conditions, “Show in history” is checked.

After applying these steps, the 20-minute countdown loop was broken. The drive now registers as completely clean, bypasses the systemd/udev forced checks, and mounts instantly in the GUI.

NOTE: I found something that works for me.

- Randall

1 Like

Wouldn’t have been bad if you had mentioned that the file type is ext4 in the title of this topic.

Hcvv:
Well, I did mention ext4 two or three times, but perhaps you are right.
Thanks for the comment.
- Randall

The fix did NOT work. I had to temporarily change the efs2chk command with this bash script

sudo mv /usr/sbin/e2fsck /usr/bin/e2fsck.real
sudo tee /usr/sbin/e2fsck << 'EOF'
#!/bin/bash
# Skip all read-only pre-mount fsck probes (udisksd -f -n calls)
if echo "$@" | grep -q "\-n"; then
    logger -t e2fsck-wrapper "Skipping read-only fsck probe, args: $@"
    exit 0
fi
exec /usr/sbin/e2fsck.real "$@"
EOF
sudo chmod 755 /usr/sbin/e2fsck

I will be submitting a bugzilla report shortly on this.

The bugzilla report is Bug with mounting ext4 filesystems

That’s been standard procedure here for years, following each invocation of mkfs.extX. :slight_smile: