Кратко

  • Одобренный IESG проект NFSv4.2 определяет булев атрибут файла, предлагающий поддерживающим клиентам отказаться от долгого хранения его данных в кэше; поддержка не обязательна для каждого сервера, а сигнал остаётся рекомендательным.
  • Значение true не доказывает смену режима уже открытого файла, завершение COMMIT для нестабильного WRITE, видимость метаданных pNFS или получение байтов другим приложением.

Сервер сможет передать по самому протоколу точное сообщение: этот файл не подходит для обычного кэширования данных на клиенте. Для HPC и параллельной записи это общий механизм вместо переделки каждого приложения под локальный режим, похожий на O_DIRECT.

Но объявление не очищает кэш.

17 сентября IESG одобрил Adding an Uncacheable File Data Attribute to NFSv4.2 и передал документ в очередь RFC Editor. Редакция 16 определяет fattr4_uncacheable_file_data, атрибут 87, как доступное для чтения и записи булево поле обычного файла или именованного атрибута. Категория NFS называется RECOMMENDED, однако сервер не обязан её реализовывать.

Поддержка относится к экспортируемой файловой системе. Два экспорта одного сервера могут различаться. Клиент проверяет supported_attrs или выполняет пробу. Неподдерживаемый SETATTR завершается NFS4ERR_ATTRNOTSUPP, а GETATTR просто не возвращает поле. Отсутствие значения требует объяснения, прежде чем становиться тревогой.

Клиент, соблюдающий истинное значение, не должен задерживать WRITE ради объединения операций или эффективности. Правило уменьшает конкретную опасность: два клиента изменяют разные диапазоны одного блока, после чего один записывает устаревшую копию поверх обновления другого. Быстрая передача сужает окно такой порчи.

Долговечность идёт по отдельной цепочке. Атрибут не выбирает stable_how4. Проект требует, чтобы к моменту успешного возврата вызова записи данные уже были долговечны на сервере. Можно применить FILE_SYNC4 или DATA_SYNC4. При UNSTABLE4 необходимо завершить COMMIT до возврата; если write verifier изменился, затронутые WRITEs повторяются, пока буфер приложения ещё доступен.

Кратковременное удержание байтов ради этого обмена не считается долгим кэшем. И наоборот: установленный бит не исправляет отсутствие COMMIT. «Некэшируемый» описывает политику локальной копии, а не выдаёт квитанцию о сохранности.

Видимость чтения требует собственных условий. Сохранивший прочитанные данные клиент не должен использовать их вновь без проверки change attribute и размера файла. Delegation иногда обеспечивает согласованную картину другим способом. В pNFS атрибут приходит от сервера метаданных, а данные могут идти прямо к устройствам хранения. Долговечные байты на устройстве и видимые layout-метаданные — разные события. Если нужен LAYOUTCOMMIT, его задержка оставляет другим клиентам прежние метаданные для проверки.

Время также разрушает картину одного глобального бита. Когда атрибут меняется после открытия файла, клиент может сохранить выбранное при OPEN поведение до закрытия. Истечение кэша атрибутов, повторная проверка и следующий OPEN ограничивают задержку. Сегодняшнее true не описывает автоматически все вчерашние открытия.

Безопасностных полномочий поле не получает. Кто вправе установить или снять его, решают существующие правила сервера и авторизация. Проект не добавляет аутентификацию, не меняет контроль доступа и не создаёт границу безопасности. Механизмы согласованности и целостности NFSv4.2 остаются самостоятельными.

Редакция 16 сообщает о прототипах сервера Hammerspace и клиента Linux и о выгодах для корректно сформированных операций ввода-вывода. Это доказательство работающего варианта, но не широкого внедрения, включения по умолчанию, межпродуктовой совместимости или всеобщего выигрыша. Надо наблюдать, подчинился ли конкретный клиент и что произошло с реальной нагрузкой.

Поэтому полезный журнал связывает версию спецификации, поддержку экспорта, политику сервера, значение у названного клиента, время OPEN, реализацию и версию, режим WRITE, verifier и COMMIT, нужный LAYOUTCOMMIT, повторную проверку чтения и результат приложения. Булево поле начинает цепочку доказательств, но не завершает её.

Источники