Subject: [nfsv4] FedFS meeting ageda (4/9)

From: James Lentini <[email-masked]>
Date: Thu, 9 Apr 2009 09:12:34 -0400 (EDT)

We'll be meeting at the usual time and place:

    Time: Thursdays 1:30-2:30 PM EST/10:30-11:30 AM PST
 Dial-in: 1-888-765-3653 (us)
          303-218-2659 (international)
      Id: 2354843

Proposed Agenda
---------------

+ IETF Note Well Agreement

  This is a reminder that our discussions are governed by the 
  IETF Note Well Agreement. See:

    http://www.ietf.org/NOTEWELL.html

  We will start each week's meeting with this announcement.

+ Review Action Items

  - James Lentini will re-phrase the root fileset's attribute requirements.

  - Renu Tewari will create a root fileset I-D.

  - James Lentini schedule FedFS meeting time to discuss cache invalidation
    hints.

    Done.

+ Fileserver hints for invalid cached FSN -> FSL mappings (during migration)

---

From: James Lentini <[email-masked]>
Date: Thu, 9 Apr 2009 10:15:17 -0400 (EDT)

> Proposed Agenda
<snip> 
>   - James Lentini will re-phrase the root fileset's attribute requirements.

Here is the text I've been working on. Comments over email or on the 
call are welcome.

---

   A root fileset will be replicated throughout the federation. Therefore, a compact 
   representation that is compatible with heterogeneous fileserver implementations is 
   necessary. With this in mind, a root fileset will support a limited number of 
   recommended attributes as shown in the following table. The "Supported" column
   records the a root fileset's ability to contain the specified attribute. A 
   "Y" in the column means the attribute MUST be supported, a "N" means the 
   attribute MUST NOT be supported, and a "M" means the attribute MAY be 
   supported.

   +--------------------+----+-----------+------------------+
   | Name               | Id | Supported | Defined in:      |
   +--------------------+----+-----------+------------------+
   | acl                | 12 |     N     | Section 6.2.1    |
   | aclsupport         | 13 |     N     | Section 6.2.1.2  |
   | archive            | 14 |     M     | Section 5.8.2.1  |
   | cansettime         | 15 |     M     | Section 5.8.2.2  |
   | case_insensitive   | 16 |     M     | Section 5.8.2.3  |
   | case_preserving    | 17 |     M     | Section 5.8.2.4  |
   | change_policy      | 60 |     M     | Section 5.8.2.5  |
   | chown_restricted   | 18 |     M     | Section 5.8.2.6  |
   | dacl               | 58 |     N     | Section 6.2.2    |
   | dir_notif_delay    | 56 |     M     | Section 5.11.1   |
   | dirent_notif_delay | 57 |     M     | Section 5.11.2   |
   | fileid             | 20 |     M     | Section 5.8.2.7  |
   | files_avail        | 21 |     M     | Section 5.8.2.8  |
   | files_free         | 22 |     M     | Section 5.8.2.9  |
   | files_total        | 23 |     M     | Section 5.8.2.10 |
   | fs_charset_cap     | 76 |     M     | Section 5.8.2.11 |
   | fs_layout_type     | 62 |     N     | Section 5.12.1   |
   | fs_locations       | 24 |     Y     | Section 5.8.2.12 |
   | fs_locations_info  | 67 |     Y     | Section 5.8.2.13 |
   | fs_status          | 61 |     Y     | Section 5.8.2.14 |
   | hidden             | 25 |     M     | Section 5.8.2.15 |
   | homogeneous        | 26 |     M     | Section 5.8.2.16 |
   | layout_alignment   | 66 |     N     | Section 5.12.2   |
   | layout_blksize     | 65 |     N     | Section 5.12.3   |
   | layout_hint        | 63 |     N     | Section 5.12.4   |
   | layout_type        | 64 |     N     | Section 5.12.5   |
   | maxfilesize        | 27 |     M     | Section 5.8.2.17 |
   | maxlink            | 28 |     M     | Section 5.8.2.18 |
   | maxname            | 29 |     M     | Section 5.8.2.19 |
   | maxread            | 30 |     M     | Section 5.8.2.20 |
   | maxwrite           | 31 |     M     | Section 5.8.2.21 |
   | mdsthreshold       | 68 |     N     | Section 5.12.6   |
   | mimetype           | 32 |     M     | Section 5.8.2.22 |
   | mode               | 33 |     M     | Section 6.2.4    |
   | mode_set_masked    | 74 |     M     | Section 6.2.5    |
   | mounted_on_fileid  | 55 |     M     | Section 5.8.2.23 |
   | no_trunc           | 34 |     M     | Section 5.8.2.24 |
   | numlinks           | 35 |     M     | Section 5.8.2.25 |
   | owner              | 36 |     M     | Section 5.8.2.26 |
   | owner_group        | 37 |     M     | Section 5.8.2.27 |
   | quota_avail_hard   | 38 |     M     | Section 5.8.2.28 |
   | quota_avail_soft   | 39 |     M     | Section 5.8.2.29 |
   | quota_used         | 40 |     M     | Section 5.8.2.30 |
   | rawdev             | 41 |     M     | Section 5.8.2.31 |
   | retentevt_get      | 71 |     M     | Section 5.13.3   |
   | retentevt_set      | 72 |     M     | Section 5.13.4   |
   | retention_get      | 69 |     M     | Section 5.13.1   |
   | retention_hold     | 73 |     M     | Section 5.13.5   |
   | retention_set      | 70 |     M     | Section 5.13.2   |
   | sacl               | 59 |     N     | Section 6.2.3    |
   | space_avail        | 42 |     M     | Section 5.8.2.32 |
   | space_free         | 43 |     M     | Section 5.8.2.33 |
   | space_total        | 44 |     M     | Section 5.8.2.34 |
   | space_used         | 45 |     M     | Section 5.8.2.35 |
   | system             | 46 |     M     | Section 5.8.2.36 |
   | time_access        | 47 |     M     | Section 5.8.2.37 |
   | time_access_set    | 48 |     M     | Section 5.8.2.38 |
   | time_backup        | 49 |     M     | Section 5.8.2.39 |
   | time_create        | 50 |     M     | Section 5.8.2.40 |
   | time_delta         | 51 |     M     | Section 5.8.2.41 |
   | time_metadata      | 52 |     M     | Section 5.8.2.42 |
   | time_modify        | 53 |     M     | Section 5.8.2.43 |
   | time_modify_set    | 54 |     M     | Section 5.8.2.44 |
   +--------------------+----+-----------+------------------+

   The root fileset MUST NOT contain any named attributes. The root fileset
   MUST conform to all other attribute requirements defined in Section 5.6 
   of [NFSv4.1]. Attributes added in future versions of NFSv4 MAY be 
   supported.

---

From: "Everhart, Craig" <[email-masked]>
Date: Thu, 9 Apr 2009 12:08:53 -0400

James,

This is a big improvement over "no recommended attributes."  I'd suggest
that it would be a lot more parsimonious to list only the N's and Y's,
hard as you've worked on this table.  The reasons for those two groups
will probably be obvious.

Even so, for the layout/acl things, there's room for some argument.  A
value for "mdsthreshold" might exist but be so high as to indicate that
the MDS would, effectively, always be used.  And a lot of organizations
will still want to use ACLs, regardless of the text here.  Do we want to
make that at least in compliance by using SHOULD NOT rather than MUST
NOT?  And for that matter, we may not need to require fs_location_info
and friends for anything but leaves in the fileset.  Even if any
intermediate nodes (like the root directory) are replicated, they SHOULD
have values, not MUST.

		Craig

> -----Original Message-----
> From: Lentini, James 
> Sent: Thursday, April 09, 2009 10:15 AM
> To: [email-masked]
> Subject: Re: [nfsv4] FedFS meeting ageda (4/9)
> 
> 
> Here is the text I've been working on. Comments over email or 
> on the call are welcome.
> 
> ---
> 
> _______________________________________________
> nfsv4 mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/nfsv4
>

---

From: James Lentini <[email-masked]>
Date: Thu, 9 Apr 2009 15:10:47 -0400 (EDT)

These are the requirements for what attributes an object in the root 
fileset may or may not have. For example, the root fileset MUST be 
capable of supporting an fs_location_info attribute on objects in the 
root fileset, but not every object in the root fileset MUST actually 
have a fs_location_info attribute. We discussed this on the call today 
and I agree that the text needed to clarify this point.

With regards to the attributes listed as "MUST NOT" support, the 
motivation here is limit the size and complexity of the root fileset. 
The rational is that anything a user would like to accomplish with one 
of these attributes (e.g. ACLs) can be accomplished in a regular 
fileset, instead of the root fileset.

-james