Re: NFSv4 draft (new version)

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

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


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

This archive was generated by hypermail 2.1.2 : 03/04/05-01:45:53 AM Z CST