inotify suporte a NFS?
Olhando em volta da rede, parece que o inotify pode suportar o NFS, mas de uma forma muito limitada.
exposição # 1O motivo é explicado neste StackOverflow Q & A intitulado: inotify with NFS .
trecho da resposta aceita
exposição # 2inotify requires support from the kernel to work. When an application tracks a directory, it asks the kernel to inform it when those changes occur. When the change occurs, in addition to writing those changes to disk, the kernel also notifies the watching process.
On a remote NFS machine, the change is not visible to the kernel; it happens entirely remotely. NFS predates inotify and there is no network level support for it in NFS, or anything equivalent.
Pesquisando um pouco mais, se você observar as Perguntas frequentes sobre inotify
Q: Can I watch sysfs (procfs, nfs...)?
Simply spoken: yes, but with some limitations. These limitations vary between kernel versions and tend to get smaller. Please read information about particular filesystems.
Então, é suportado?
Acho que o que você está experimentando é que o NFS não fornece um equivalente de maçãs a maçãs de todos os mesmos recursos que os sistemas de arquivos montados localmente.
Por exemplo, de um thread do nfs linux :
- O CIFS possui recursos de notificação incorporados (oplocks)
- O NFS fornece "concessões" para notificação
O ponto aqui é que sistemas de arquivos alternativos, como CIFS e NFS, oferecem suporte muito básico, se houver, diretamente para inotificar.
Estado do NFS v4
excerto de Artigo da IBM sobre o estado do NFS v4
NFS version 4 provides a protocol for the client to establish or reestablish state, and associates ownership of subsequent server stateful operations to previously established states. To resolve the absent client problem, the NFS version 4 client must routinely refresh the state within the server-specified lease time. Upon lease time-out, the server may release resources for the client and make them available to other applications.
- A client obtains the server-specified lease time-out attribute by issuing a getattr operation. getattr is not a stateful operation, thus it does not require prior state to be established. A getattr operation may precede a setclientid or setclientid_confirm operation.
- Refer to the NFS server's leasetime site attribute for setting and tuning lease time periods. *