group (2) versus fcntl (2) over a NFS
The Perl 5.x documents mentions that its execution of group (.) will certainly make use of among the adhering to indigenous telephone calls, beginning at 1 and also pursuing 3 if inaccessible:
- group (2)
- fcntl (2)
- lockf (3)
That's penalty. Nonetheless, you might have seen their please note that group (2) need to not be made use of over a NFS. The doc recommends making use of a -Ud_flock flag to compel Perl to make use of group (2). The male web page of group (2) (on Redhat) states a comparable please note concerning NFS concerns.
My inquiry is, why!?!? I can not appear to locate a comprehensive write-up or description of WHY group (2) is harmful over a NFS.
I've created numerous examination manuscripts in C and also Perl, on both Redhat (where group (2) is being made use of) and also on Solaris (where fcntl (2) is being made use of). I ran strace/truss to make certain that Perl was without a doubt making use of group (2) and also fcntl (2) specifically. I can not reproduce any kind of concerns where a lock was not being recognized! What offers??
I'm rather certain that you are considering heritage problems. Remember that the Perl5 guidebook was launched in 1994 which it was simply an edit of Perl4's guidebook from 1991. In those days it can possibly be claimed concerning the oft - called Nightmare File System that "it isn't just how well the bear dancings that astonishes, yet that it dancings in all".
NFS2 in the 1991 date was gradually creeping out of Sun right into various other systems and also was reasonably unrefined. The security version was basically non - current (origin on a customer equipment can read the complete materials of an NFS place) and also securing - using nfs.lockd - was this side of speculative. You would certainly have been crazy to anticipate group semiotics to function effectively if in all in between 2 various purportedly interoperable executions. Coax was the leading Ethernet PHY at the time which several network customers have never ever had the annoyance of making use of (what do you suggest you neglected to place the 50 discontinuation resistor on?) if that offers you a far better grasp on the state of intranets after that.
Larry Wall and also staff had every factor to make downhearted presumptions concerning the accuracy of NFS locks at the time, and also this is the type of protective shows that future code jockeys are loathe to remove due to the fact that it is so tough to confirm the lack of an issue by getting rid of old code which is re - presented in interoperability with a heritage system that you never ever also come across.
Ever since, NFS has actually boosted substantially, and also lockd has actually moved in time to an attribute of the Linux 2.6 bit. For a collection of 2003+systems, NFS documents securing can possibly be relied on, specifically if examined well within your application throughout the several systems it might be working on.
Every one of the above was cribbed from memory, and also can likely be confirmed via study (as an example http://nfs.sourceforge.net/) yet the evidence - as they claim - remains in the securing, and also if you really did not examine it, it is assumed damaged.
Lennart Poettering lately did some excavating right into linux filesystem securing practices, which does not repaint a specifically glowing image for securing over NFS (specifically the adhere to - up he connects to at the end of the blog post).