On Feb 23, 2008, at 9:09 AM, Mark Crispin wrote:
On Sat, 23 Feb 2008, Joel Reicher wrote:AFAIK most c-client file formats (everything except unix and mmdf?)require flock() (or a simulated equivalent) to work. Since it doesn't work over NFS I'd say folder corruption is inevitable if pine (or anything else)is accessing these (better!) formats over NFS.That's correct as far as it goes. But it's more than just flock(). They also requires that the filesystem implement correct UNIX filesystem semantics.For example, if the file's metadata says that the file contains 3281 bytes, the file actually should contain 3281 bytes and not 2931 or 5842 bytes. NFS updates these two things separately, and as long as the file is open read-write by some process it is possible for an NFS client to get a view in which the file metadata says one thing and the data something else. That confuses the hell out of applications that are doing shared read-write access!
I spent quite a lot of time trying to figure out how NFS worked in different systems and how to get it to work the way I wanted to. I wrote http://www.unixcoding.org/NFSCoding as a result of it.
It's also interesting that most of the same caching issues (and workarounds) exist with Linux's FUSE filesystems that use a shared backend, for example glusterfs.
PGP.sig
Description: This is a digitally signed message part
_______________________________________________ Imap-uw mailing list [email protected] https://mailman1.u.washington.edu/mailman/listinfo/imap-uw
