Io 服务器关闭时NFS文件系统上的非阻塞open()块

Io 服务器关闭时NFS文件系统上的非阻塞open()块,io,blocking,nonblocking,nfs,Io,Blocking,Nonblocking,Nfs,我在CentOS 6.4上,使用NFSv4。我知道,使用默认的“硬”装载选项,如果NFS服务器变得不可访问,那么客户端上试图访问NFS文件系统的进程将无限期休眠。我不知道的是,即使是非阻塞open()也可以阻塞 const char *path = "/path/to/file/on/nfs"; fd = open(path, O_RDONLY | O_NONBLOCK); 这令人惊讶。O_非阻塞条目的打开(2)手册页开始为:“如果可能,文件以非阻塞模式打开…”“如果可能”的限定不会提供任何安

我在CentOS 6.4上,使用NFSv4。我知道,使用默认的“硬”装载选项,如果NFS服务器变得不可访问,那么客户端上试图访问NFS文件系统的进程将无限期休眠。我不知道的是,即使是非阻塞open()也可以阻塞

const char *path = "/path/to/file/on/nfs";
fd = open(path, O_RDONLY | O_NONBLOCK);
这令人惊讶。O_非阻塞条目的打开(2)手册页开始为:“如果可能,文件以非阻塞模式打开…”“如果可能”的限定不会提供任何安慰


这是预期的行为吗?周围没有工作吗?我不想使用“软”挂载选项,因为网上有足够的建议反对使用它。此外,即使使用“软件”,应用程序仍会阻塞一段时间,这是不必要的。

shiii*同样的问题。是否在unix.stackexchange上重新发布?