Subject: [nfsv4] Delegation recall with truncate set

From: [email-masked]
Date: Fri, 1 Aug 2003 16:44:05 -0400 (EDT)

I painted myself into an interesting corner and I thought I'd check to
see if this made sense:

Client A - Has write delegation for file X
Client B - Does a Remove file X
	- server sends Recall Callback with truncate True to Client A
	- replies NFSERR_DELAY to Client B

I realized that, if Client B crashes before retrying the Remove, the
modified data for X on Client A would be lost.

I can only see two ways around this:
1) Don't set truncate True (Yuch!)
2) Don't reply NFSERR_DELAY after sending the Recall Callback request
   and just wait until the Recall happens (maybe waiting until the
   delegation expires) before doing the Remove and replying NFS_OK to
   Client B.

Does this make sense? Is there a better solution?

Have a fun weekend, rick

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

---

From: Spencer Shepler <[email-masked]>
Date: Fri, 1 Aug 2003 15:53:23 -0500

> Does this make sense? Is there a better solution?

I chose the sequence you have except the truncate==false; your
solution 1).  As you say, there is no guarantee that the remove will
be retransmitted and potentially may be denied (if there is an
intermediate access change).  Maybe not the cleanest with respect to
transmitted data that will be discarded but it is the safest.

Spencer