open O_CREAT | O_EXCL unter NFS unter Linux?
Wenn im Linux 2.6-Kernel und in NFSv3open("fname", O_CREAT|O_EXCL)
wurde gültig? Das aktuelle kanonischeopen(2)
Systemaufrufdokumentation http: //www.kernel.org/doc/man-pages/online/pages/man2/open.2.htm) sagt alles ist in Ordnung:
- 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 ...
Dies liest sich so, als ob alle 2.6-Kernel in Ordnung wären, aber die ManpageÄnderungsprotokol (ca late kernel 2.6.23) zeigt Gültigkeit anvier Jahr, nachdem 2.6.0 online gegangen ist, und das Web ist voll von Board-Nutzern, die diese Nutzung in den letzten ein oder zwei Jahren zensiert haben. Ich würde dieses Setup gerne auf RHEL 5 (2.6.18) -Systemen verwenden, aber ich konnte es nicht genau festlegen, als es wirklich sicher wurde. Hat jemand eine definitive Antwort?