Subject: [nfsv4] final layoutreturn serialization

From: Benny Halevy <[email-masked]>
Date: Thu, 17 Aug 2006 09:12:09 +0300

Following up on a short discussion that started on the last conference call
Trond and I discussed how the final layoutreturn operation should look like
and we concluded that no changes are needed to recognize the final return
as such.  We do not need to add a cookie to cb_layoutrecall args to be sent
on the corresponding final layoutreturn as echoing the recalled layout_type
and exact scope is sufficient.

However, I realized that both us expected that the final layoutreturn will
be serialized with any other intersecting return yet the spec doesn't say
that explicitly.

I suggest we add a paragraph to the layout return operation
IMPLEMENTATION section describing this requirement.
(note that in the following proposal I also deleted text
that was probably cloned due to a cut & paste mistake)

--- draft-ietf-nfsv4-minorversion1-05.txt       2006-08-15 
13:15:35.000000000 +0300
+++ draft-ietf-nfsv4-minorversion1-05-bhalevy.txt       2006-08-17 
08:55:09.000000000 +0300
@@ -22295,23 +22295,25 @@
    callbacks?]]

 20.44.5.  IMPLEMENTATION

+   The final LAYOUTRETURN operation in response to a CB_LAYOUTRECALL
+   callback MUST be serialized with any outstanding, intersecting
+   layoutreturn operations.  Note that it is possible that while a
+   client is returning the layout for some recalled range the server
+   may recall a superset of that range (e.g. RECALL_ALL); the final
+   return operation for the latter must block until the former layout
+   recall is done - when its corresponding final return operation is
+   replied.
+
    Returning all layouts in a file system using LAYOUTRETURN_FSID is
    typically done in response to a CB_LAYOUTRECALL for that file system
    as the final return operation.  Similarly, LAYOUTRETURN_ALL is used
    in response to a recall callback for all layouts.  It is possible
    that the client already returned some outstanding layouts via
    individual LAYOUTRETURN calls and the call for LAYOUTRETURN_FSID or
    LAYOUTRETURN_ALL marks the end of the layoutreturn sequence.  See
-   Section 15.3.5.2 for more details.  Returning all layouts in a file
-   system using LAYOUTRETURN_FSID is typically done in response to a
-   CB_LAYOUTRECALL for that file system as the final return operation.
-   Similarly, LAYOUTRETURN_ALL is used in response to a recall callback
-   for all layouts.  It is possible that the client already returned
-   some outstanding layouts via individual LAYOUTRETURN calls and the
-   call for LAYOUTRETURN_FSID or LAYOUTRETURN_ALL marks the end of the
-   layoutreturn sequence.  See Section 15.3.5.2 for more details.
+   Section 15.3.5.2 for more details.

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

---

From: Benny Halevy <[email-masked]>
Date: Fri, 18 Aug 2006 13:17:39 +0300

issue 108 created

Benny