Subject: [nfsv4] minor discrepancy between notify_type4 and notify_deviceid_type4?

From: Benny Halevy <[email-masked]>
Date: Fri, 10 Oct 2008 17:14:00 +0200

Mike, it seems like notify_type4 defines the bit
offsets of the corresponding directory notifications:

   enum notify_type4 {
           NOTIFY4_CHANGE_CHILD_ATTRS = 0,
           NOTIFY4_CHANGE_DIR_ATTRS = 1,
           NOTIFY4_REMOVE_ENTRY = 2,
           NOTIFY4_ADD_ENTRY = 3,
           NOTIFY4_RENAME_ENTRY = 4,
           NOTIFY4_CHANGE_COOKIE_VERIFIER = 5
   };

but since notify_deviceid_type4 starts at "1" and has only
the values "1" and "2" it is not absolutely clear if the spec
means bit offsets or the actual bitmap mask (like it had
been interpreted when implementing the xdr for cb_notify_deviceid).

   enum notify_deviceid_type4 {
           NOTIFY_DEVICEID4_CHANGE = 1,
           NOTIFY_DEVICEID4_DELETE = 2
   };

It'd be clearer if this was changed to 
   enum notify_deviceid_type4 {
           NOTIFY_DEVICEID4_CHANGE = 0,
           NOTIFY_DEVICEID4_DELETE = 1
   };

Since it's probably way too late to change the I-D for that
I just wanted to clarify this point.

Other implementers, please chime in if you interpreted it
differently.

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

---

From: "Mike Eisler" <[email-masked]>
Date: Fri, 10 Oct 2008 09:00:37 -0700 (PDT)

> been interpreted when implementing the xdr for cb_notify_deviceid).

Benny,

Since these numbers are used to set bits in the bitmap4 data type,
it seemed clear to me that:

   The position of the integer in the array that contains bit n
   can be computed from the expression (n / 32) and its bit within that
   integer is (n mod 32).

It would be clearer if the bitmap4 data type had its own section, and
all prose that discussed data types that use bitmap4 refer to that section.
There might be an opportunity to made that scale of editorial change
depending on what the IESG or IETF Last Call reviews produce.

> I just wanted to clarify this point.

Yes it is too late. Bit position zero was occupied by NOTIFY_DEVICEID4_ADD,
which no longer exists. Bit position zero is available for a new
layout type and/or a new minor revision of NFSv4.

-- 
Mike Eisler, Senior Technical Director, NetApp, 719 599 9026,
http://blogs.netapp.com/eislers_nfs_blog/