Subject: Re: [nfsv4] question about CB_OFFLOAD

From: Olga Kornievskaia <[email-masked]>
Date: Thu, 1 Sep 2016 13:24:03 -0400

I'd like raise this question again as I never got an answer to this.

On Wed, Jan 20, 2016 at 1:20 PM, Olga Kornievskaia <[email-masked]> wrote:
> I have a question about CB_OFFLOAD parameters.
>
> 16.1.3 states that "The coa_resok4.wr_callback_id MUST NOT be set”.
> What does that mean? All zeros? If the field is never set why is it
> there?
>
> struct write_response4 {
>            stateid4        wr_callback_id<1>;
>            length4         wr_count;
>            stable_how4     wr_committed;
>            verifier4       wr_writeverf;
>    };
>
>    union offload_info4 switch (nfsstat4 coa_status) {
>    case NFS4_OK:
>            write_response4 coa_resok4;

---

From: David Noveck <[email-masked]>
Date: Thu, 1 Sep 2016 14:35:51 -0400

> 6.1.3 states that "The coa_resok4.wr_callback_id MUST NOT be set”.
> What does that mean?  All zeros?

My interpretation is that it expects a zero-length array of stateids and
that an array consisting of one all-zero stateid would not be not ok.

> If the field is never set why is it there?

I don't know.

On Thu, Sep 1, 2016 at 1:24 PM, Olga Kornievskaia <[email-masked]> wrote:

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

---

From: Thomas Haynes <[email-masked]>
Date: Fri, 2 Sep 2016 16:43:34 +0000

> What does that mean?  All zeros?

My interpretation is that it expects a zero-length array of stateids and that an array consisting of one all-zero stateid would not be not ok.

A set stateid in wr_callback_id informs the client that the result will be sent
asynchronously. Seeing as how CB_OFFLOAD is already an async response
to a COPY, this would mean that the CB_OFFLOAD would need a CB_CB_OFFLOAD.

I think another way to state this is that the client MUST ignore the coa_resok4.wr_callback_id
in a CB_OFFLOAD.

I don't know.

Because we are reusing  the write_response4 data structure.

On Thu, Sep 1, 2016 at 1:24 PM, Olga Kornievskaia <[email-masked]<mailto:[email-masked]>> wrote:
I'd like raise this question again as I never got an answer to this.

Sorry, I even had a flag set on it to remind me.

_______________________________________________
nfsv4 mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/nfsv4

---

From: Olga Kornievskaia <[email-masked]>
Date: Fri, 2 Sep 2016 13:49:48 -0400

On Fri, Sep 2, 2016 at 12:43 PM, Thomas Haynes <[email-masked]> wrote:
>
> On Sep 1, 2016, at 11:35 AM, David Noveck <[email-masked]> wrote:
>

David, Tom, thank you for the explanations. It makes sense now.

---

From: "Adamson, Andy" <[email-masked]>
Date: Fri, 2 Sep 2016 18:35:55 +0000

> On Sep 2, 2016, at 1:49 PM, Olga Kornievskaia <[email-masked]> wrote:
> 

Perhaps add some text to the spec to remember this??

—>Andy

---

From: David Noveck <[email-masked]>
Date: Fri, 2 Sep 2016 14:42:05 -0400

I think this is the kind of thing that could be addressed by an editorial
erratta,

On Fri, Sep 2, 2016 at 2:35 PM, Adamson, Andy <[email-masked]>
wrote:

> >> A set stateid in wr_callback_id informs the client that the result will
> be
> >> sent