- Replace defaults with explicit optimized NFSv3 options - noatime: eliminates 8M+ atime setattr calls during Syncthing scans - rsize/wsize=1048576: 32x larger transfer buffers (was 32KB) - timeo=14: 1.4s timeout instead of 60s (LAN, not WAN) - retrans=5: more retries since timeo is low Root cause: NFS server only supports NFSv3, and 'defaults' uses kernel-minimum rsize/wsize=32KB + atime updates on every read. Syncthing's 80K-file scans generated 52M getattr + 8M setattr RPCs. These options reduce metadata RPC overhead and increase data throughput.
23 lines
505 B
Nix
23 lines
505 B
Nix
{ pkgs, lib, config, ... }: {
|
|
|
|
options = {
|
|
hoardingcow-mount.enable = lib.mkEnableOption "enable hoardingcow access";
|
|
};
|
|
config = lib.mkIf config.hoardingcow-mount.enable {
|
|
fileSystems."/mnt/HoardingCow_docker_data" = {
|
|
device = "192.168.1.2:/WorkHorse_docker_data";
|
|
fsType = "nfs";
|
|
options = [
|
|
"noatime"
|
|
"hard"
|
|
"nofail"
|
|
"_netdev"
|
|
"rsize=1048576"
|
|
"wsize=1048576"
|
|
"timeo=14"
|
|
"retrans=5"
|
|
];
|
|
};
|
|
};
|
|
}
|