Subject: [nfsv4] more re: byte range delegations

From: [email-masked]
Date: Sun, 17 Jul 2005 13:05:39 -0400 (EDT)

>> In other words, I think it might be better if the delegations indicated
>> to the server what it "wished to cache" and the server provide callback
>> notifications that let the clients know if:
>> - for readers, check for currency before using cached data
>> - for writers, switch to "write-through", since there are other readers
>>   and/or writers
>
>I'm not sure that I understand the scheme. When would the server want to
>notify the client without the data actually changing?
I haven't worked through the details, but the basic idea was that the
server would:
- notify the writer to switch to synchronous writing when another client
  requested a "read caching delegation" on the same (or overlapping) byte
  range.
- the server would notify the writer that it no longer needs to do
  synchronous writing when the other client(s) return their "read caching
  delegation"(s).
Similarily, the server would notify the client(s) holding "read caching
delegations":
- to check with the server to see if cached data is "up to date" for all
  reads, when a "write caching delegation" on the same (or overlapping)
  region is issued
- to not bother checking for every read, after the "write caching delegation"
  is returned

Same vs overlapping regions would be a separate issue. Although your current
protocol allows "partial recall", I'm not sure if clients will want
to deal with the complexity of byte granular partial return? (ie. It's
not obvious to me what the complexity/performance tradeoffs will be?)

rick

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

---

From: Benny Halevy <[email-masked]>
Date: Mon, 18 Jul 2005 11:32:27 +0300

With multiple client hosts writing to the same page, 
synchronous I/O is problematic if the writers need to 
read-modify-write the pages.  If the byte range covering the 
written pages is not locked throughout the RMW sequence one 
writer can overwrite other writer's modifications with stale 
data.

Benny