2.2 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| nfs-mountpoints-immutable | The seven NAS mountpoint dirs are chattr +i so services cannot write into them when NFS is down; use chattr -i to modify one |
|
Every NAS mountpoint directory on mainframe carries the ext4 immutable flag:
/home/connor/{docs,books,audio,photo,video,downloads} and /mnt/nas
Set 2026-10-02. If you see Operation not permitted writing to one of these
paths, check whether NFS is actually mounted before doing anything else. That
error is the feature working, not a bug.
Why. When NFS is not mounted the mountpoint is just an empty local directory and
every service happily writes into it. The data lands on local disk, is hidden the
moment the mount returns, and nobody notices. By 2026-10-02 that had silently
accumulated 106 GB across downloads (86 G) and video (20 G) going back to
Oct 2025, plus Viseron NVR footage and transmission downloads. With +i those
writes fail immediately and loudly instead.
Verified behavior (tested, not assumed):
- write to unmounted mountpoint -> EPERM, even as root
mountonto an immutable dir -> worksumount-> works- writes to the mounted filesystem -> entirely normal
The flag lives on the UNDERLYING directory, which is covered while NFS is mounted. To inspect or change it without unmounting, reach the real inode through a bind mount:
sudo mount --bind /home /mnt/under
lsattr -d /mnt/under/connor/docs
sudo chattr -i /mnt/under/connor/docs # to undo
sudo umount /mnt/under
/mnt/nas lives on /, not /home, so it needs mount --bind / /mnt/rootbind
instead. The flag is stored in the inode and survives reboot; there is no unit
or script behind it.
Connor declined the other two layers considered (systemd RequiresMountsFor=
and mount alerting) on 2026-10-02 — do not add them without being asked.
Scoping mattered for the systemd one: applying it to podman-restart.service
wholesale would take the whole stack down on a NAS-down boot, including gitea,
bitwarden, authelia and litellm, none of which touch NFS.
Related: nas-dual-homed-wifi-path, nfs-root-squash-loses-mtimes