A nofail mount that doesn’t come up leaves the mountpoint as a plain directory
on the underlying disk. Apps that write there silently fill the wrong disk — in
my case, the root SSD instead of the external HDD.
With the disk unmounted, mark the base directory immutable:
sudo umount /media/external
sudo chattr +i /media/external
lsattr -d /media/external # ----i---------e-------
Now any write there fails immediately with EPERM, loud and clear. Mounting
over an immutable directory works normally: the flag lives on the underlying
inode, hidden while mounted, and reappears on umount.
The +i must be applied with the disk unmounted — mounted, you’d be marking the
disk’s inode, not the mountpoint’s.