Subject: [nfsv4] Another CB_LAYOUTRECALL question

From: Fred Isaman <[email-masked]>
Date: Thu, 9 Dec 2010 22:37:24 -0500

Assume the client has a layout which indicates commit through MDS, and has done an unstable WRITE to the DS.  It then gets a CB_LAYOUTRECALL with clora_changed=TRUE.  Can it just send the COMMIT to the MDS (as at this point it is not using the layout), or does it have to resend the WRITE through the MDS?  I suspect the latter, but would love to hear that others think the former.

Fred

---

From: Trond Myklebust <[email-masked]>
Date: Thu, 09 Dec 2010 22:53:39 -0500

> Assume the client has a layout which indicates commit through MDS, and has done an unstable WRITE to the DS.  It then gets a CB_LAYOUTRECALL with clora_changed=TRUE.  Can it just send the COMMIT to…

It should still be able to send the COMMIT to the MDS. If the layout
indicates commit through MDS, then the commit verifiers are supposed to
be fully synchronised (see section 13.7) and so the client can
definitely figure out if the data has been flushed to disk or not.

Cheers
  Trond