Subject: [nfsv4] COMMIT Through Metadata Server

From: Mike Eisler <[email-masked]>
Date: Wed, 20 Feb 2008 09:18:20 -0800 (PST)

Today at the Austin bake-a-thon an interoperability issue
came with about whether the  NFL4_UFLG_COMMIT_THRU_MDS flag in
the layout is advice or command.

I argue that the flag is command, not advice.

Some pNFS servers will not be able to support the ability
to COMMIT writes on the MDS that were sent to the data server,
and some pNFS servers will not be able to support the converse
either.

So I would like to change to spec make it clear that
if the flag is off, clients MUST send COMMITs to the place
where it sent the WRITE, either the DS or the MDS. And if the
client is on, clients MUST send COMMITs to the MDS.

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

---

From: Spencer Shepler <[email-masked]>
Date: Wed, 20 Feb 2008 11:55:52 -0600

> client is on, clients MUST send COMMITs to the MDS.

I assume you meant:

"And if the flag is one, clients MUST send COMMITs to the MDS"

Yes, this behavior is appropriate and should be clarified.

Spencer

---

From: Mike Eisler <[email-masked]>
Date: Thu, 21 Feb 2008 11:26:08 -0800 (PST)

> Yes, this behavior is appropriate and should be clarified.

Here are diffs:

@@ -1162,22 +1199,22 @@
    NFL4_UFLG_COMMIT_THRU_MDS in the field nfl_util of the file layout
    (data type nfsv4_1_file_layout4)
    is an indication
-   from the metadata server to the client of the preferred way of
+   from the metadata server to the client of the REQUIRED way of
    performing COMMIT, either by sending the COMMIT to the data server
    or the metadata server.  These two methods of dealing with the
issue
    correspond to broad styles of implementation for a pNFS server
    supporting the files layout type.
    <list style="symbols">
      <t>
-       When the flag is false, COMMIT operations are to be done
-       to the data server to which the corresponding writes were
-       done.  This approach
+       When the flag is FALSE, COMMIT operations MUST to be sent
+       to the data server to which the corresponding WRITE operations
were
+       sent.  This approach
        is most useful when striping of files is implemented as part of
        pNFS server, with the individual data servers each implementing
        their own file systems.
      </t>
      <t>
-       When the flag is true, COMMIT operations are done to the
+       When the flag is TRUE, COMMIT operations MUST be sent to the
        metadata server, rather than to the individual data servers.
        This approach is most useful when the pNFS server is
        implemented on top of a clustered file system.  In such