Subject: RE: [nfsv4] re: byte range delegations

From: "Noveck, Dave" <[email-masked]>
Date: Thu, 14 Jul 2005 18:46:57 -0400

I must be missing something.  It seems to me that if
you have an append-write op, it can decide where to 
place the data and tell you what it decided.

-----Original Message-----
From: David Robinson [mailto:[email-masked]]
Sent: Thursday, July 14, 2005 6:33 PM
To: [email-masked]
Subject: Re: [nfsv4] re: byte range delegations

Gordon Waidhofer wrote:
> I talked to somebody about an "append" flag
> to write, or another write op, years ago.
> I was told that the idempotency issues made
> it pretty much impossible. Suppose the reply
> gets lots and the server re-issues the append.
> Does anything in NFSv4 overcome this problem?
> 
> That said, I still think it would be darn handy,
> warts and all.

Append writes from a Posix client perspective is very
hard, as Trond points out, these types of clients
really want to know where its write actually was
placed. Generally it can only do that by either
dictating the offset (which is really not an append)
or acquiring exclusive access which becomes a
consistency protocol issue many are not willing to
take on.

However, from a server perspective append writes are
almost trivial.  The server always knows where the
end of a file is and can easily arbitrate two clients
simultaneously wanting to do an append write.  As a
case study, the Google filesystem is designed to
do exactly this, many clients almost always appending
to the same file. The key requirements are that it
must be an append and the client doesn't need to know
where it was placed.  How they use their data doesn't
require this.

So while I would strongly support a flag in the WRITE op to tell
the server to perform a true append write as it will
solve some very interesting applications (log files etc),
it would not solve my more general Posix append
write problem. The latter has held the former hostage
for too long.

	-David

_______________________________________________
nfsv4 mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/nfsv4

_______________________________________________
nfsv4 mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/nfsv4

---

From: David Robinson <[email-masked]>
Date: Thu, 14 Jul 2005 18:08:35 -0500

> place the data and tell you what it decided.

As someone else mentioned, you need reliable replay
protection, which sessions will help out.  But if the
application performing the write() uses a length that
exceeds the server's transfer size you can't meet
the append write semantics of Posix.

	-David