News for hackers. Stuff that matters.
Re:Working with Files Is Hard (2019) by IgorPartola on Thursday January 23, 2025 @09:19PM (#42809955)
Not only that, but the POSIX file API also assumes that NFS is a thing but NFS breaks half the important guarantees of a file system. I don’t know if it’s a baby and bath water situation, but NFS just seems like a whole bunch of problems. It’s like having eval in a programming language.
Re:Working with Files Is Hard (2019) by huntaub on Thursday January 23, 2025 @09:23PM (#42809966)
What aspects of NFS do you think break half of the important guarantees of a file system?
Re:Working with Files Is Hard (2019) by jcalvinowens on Friday January 24, 2025 @12:21AM (#42810735)
Well, at least O_APPEND, O_EXCL, O_SYNC, and flock() aren't guaranteed to work (although they can with recent versions as I understand it).

UID mapping causing read() to return -EACCES after open() succeeds breaks a lot of userland code.

Re:Working with Files Is Hard (2019) by DiggyJohnson on Friday January 24, 2025 @01:23AM (#42810946)
Just ran into this one recently trying to replace Docker w/ Podman for a CICD runner. Before anyone protests we have very strong, abnormal requirements on my project preventing most saner architectures. It wasn’t the root cause but the failure behavior was weird due to the behavior you just described.
Re:Working with Files Is Hard (2019) by rwmj on Friday January 24, 2025 @05:14AM (#42811880)
Lack of inotify support is one that has annoyed me in the past. It not only breaks some desktop software, but it also should be possible for NFS to support (after all, the server sees the changes and could notify clients).
Re:Working with Files Is Hard (2019) by huntaub on Friday January 24, 2025 @09:21AM (#42813260)
Thanks for this, it's helpful. Totally heard about O_APPEND and read() returning -EACCESS. The other ones, I agree, should be fixed in later versions of the Linux kernel/NFS client.
Re:Working with Files Is Hard (2019) by AutistiCoder on Friday January 24, 2025 @10:52AM (#42814291)
The whole software ecosystem is built on bubblegum, tape, and prayers.