Когда в ядре Linux 2.6 и в NFSv3 сделал open("fname", O_CREAT|O_EXCL)
стал действительным? Текущая каноническая документация системного вызова open(2)
(http://www.kernel.org/doc/man-pages/online/pages/man2/open.2.html) говорит, что все в порядке:
- O_EXCL
- ...
On NFS, O_EXCL is only supported when using NFSv3 or later on kernel
2.6 or later. In NFS environments where O_EXCL support is not
provided, programs that rely on it for performing locking tasks will
contain a race condition. Portable programs that want to perform
atomic file locking using a lockfile, and need to avoid reliance on NFS
support for O_EXCL, can ...
Это говорит о том, что все ядра 2.6 в порядке, но справочная страница changelog (поздно ядро 2.6.23) начинает указывать на действительность через четыре года после того, как 2.6.0 вышло вживую, а в сети много пользователей плат, осуждающих это использование за последний год или два. Я хотел бы использовать эту настройку в системах RHEL 5 (2.6.18), но я не мог приколоться, когда это действительно стало безопасным. Кто-нибудь имеет окончательный ответ?