From: Carl Beame (beame@mail1.tinet.ie)
Date: 07/10/98-06:44:43 AM Z
From: Carl Beame <beame@mail1.tinet.ie> Subject: Re: NFSv4 draft (new version) Message-Id: <1998Jul10.124526+0100@panasonic.bws.com> Date: 10 Jul 1998 12:44:43 +0100 NFS and Windows/MSDOS locking: One of the biggest problems that MSDOS/Windows has in being implemented over NFS is the CreateFile() filesystem call. Remembering that ALL file calls under DOS also preform SHAREing, there is no simple way of correctly implementing this DOS. Many NFS clients do the following for a simple Create: LOOKUP File if found { SHARE File if (SHARE Succeeds) { Truncate File Set File Attributes } else { return SHARE Error } } else { CREATE File SHARE File if (SHARE Fails) return SHARE Error } If you have two clients attempting this sequence there are certain timings which cause one of the clients to return success and then find the file has been deleted out from under them. To solve this problem our NFS client SHAREs the directory the file resides in before performing the atomic operation of the MSDOS create. Several other vendors have copied this idea and we can interact with them. Some other vendors have done nothing and others may have SHAREd something else to make this an atomic operation. Basically our method of SHAREing the directory is not a solution we want to carry forward into NFS V4. So I am suggesting for NFS V4 we have the equivalent of an OPEN/CREATE call which supports SHAREing and LOCKING in a single call. Several people have talked about grouping of requests and making a group an atomic operation. I think this would make NFS V4 too complicated and if we look closely at the real world problems we can create a protocol which is simple and deals strictly with these problems. - Carl Beame
This archive was generated by hypermail 2.1.2 : 03/04/05-01:45:53 AM Z CST