强制 systemd 的挂载和自动挂载立即提升 ENOENT 而不是 ENODEV

强制 systemd 的挂载和自动挂载立即提升 ENOENT 而不是 ENODEV

我有一个提供 NFS 安装点的外部驱动器,我想将其用作 NAS。

我想在尝试访问它时被安装。我已经使用 Systemd 的单位文件完成了此操作,并将 .mount 和 .automount 单位放置在/etc/systemd/system/.当存储设备打开时它可以正常工作。

但是当它关​​闭并且我想访问它时,需要很长时间才能解析 stat 系统调用(例如执行ls),并且它返回ENODEV.相反,我想立即返回一个ENOENT状态代码,就好像该文件根本不存在一样。

两个单元均已启用并正在运行。

文件:mnt-NAS.mount

[Unit]
  Description=nfs mount script
  Requires=network-online.target
  After=network-online.service
  Wants=network-online.target

[Mount]
  What=192.168.1.252:/mnt/md1
  Where=/mnt/NAS
  Options=rw,hard,intr,wsize=8192,nofail
  Type=nfs
  TimeoutSec=1

[Install]
  WantedBy=multi-user.target

文件:mnt-NAS.mount

[Unit]
  Description=nfs mount script
  Requires=network-online.target
  After=network-online.service

[Automount]
  Where=/mnt/NAS
  TimeoutIdleSec=30

[Install]
  WantedBy=multi-user.target

这可能是我缺少的 Systemd 选项?

相关内容