inotify поддержка NFS?
Оглядываясь в сеть, можно увидеть, что inotify может поддерживать NFS, но очень ограниченным образом.
выставка № 1
Причина объяснена в этом Q & A StackOverflow под названием: inotify с NFS .
выдержка из принятого ответа
Для работы inotify требуется поддержка ядра. Когда приложение отслеживает каталог, оно просит ядро сообщить ему, когда происходят эти изменения. Когда происходит изменение, в дополнение к записи этих изменений на диск, ядро также уведомляет процесс наблюдения.
На удаленной машине NFS изменения не видны ядру; это происходит совершенно отдаленно. NFS предшествует inotify, и в NFS нет никакой поддержки сетевого уровня или чего-либо подобного.
выставка № 2
Изучите немного больше, если вы посмотрите в FAQ по inotify
В: Могу ли я смотреть sysfs (procfs, nfs ...)?
Проще говоря: да, но с некоторыми ограничениями. Эти ограничения различаются в зависимости от версии ядра и имеют тенденцию уменьшаться. Пожалуйста, прочитайте информацию о конкретных файловых системах.
Так это поддерживается?
Я думаю, что в конечном итоге вы испытываете то, что NFS не предоставляет яблоки яблокам, эквивалентные всем тем же функциям, что и локально смонтированные файловые системы.
Например, из потока nfs linux :
- CIFS имеет встроенные функции уведомления (оплокирует)
- NFS предоставляет «аренду» для уведомления
Дело в том, что альтернативные файловые системы, такие как CIFS и NFS, предлагают очень простую, если вообще есть, поддержку inotify.
Состояние NFS v4
отрывок из статьи IBM о состоянии NFS v4
NFS версии 4 предоставляет клиенту протокол для установления или восстановления состояния и связывает владение последующими серверными операциями с состоянием с ранее установленными состояниями. Чтобы устранить проблему отсутствующего клиента, клиент NFS версии 4 должен регулярно обновлять состояние в течение заданного сервером времени аренды. По истечении срока аренды сервер может освободить ресурсы для клиента и сделать их доступными для других приложений.
- Клиент получает указанный сервером тайм-аут аренды с помощью операции getattr. getattr не является операцией с состоянием, поэтому не требуется устанавливать предыдущее состояние. Операция getattr может предшествовать операции setclientid или setclientid_confirm.
- Обратитесь к атрибуту сайта времени аренды сервера NFS для настройки и настройки сроков аренды. *
inotify
событий в NFS.