Files
dotfiles/common/claude/memory/-home-connor/nfs-mountpoints-immutable.md
T
2026-10-22 09:21:28 -04:00

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
type
project

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
  • mount onto an immutable dir -> works
  • umount -> 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