I'll probably file a one-pager proposing only a short-term solution, but
also outlining a long-term solution I've been researching.  Hopefully
the short-term solution will be enough to get the case approved, leaving
the long-term solution for another day.

Short-term solution

 - go from 0..99 to 0..999
    - matches Linux
    - major release binding required
    - easy to implement (change some constants here and there, change
      docs)

Long-term solution:

 - statically allocate UIDs and GIDs from the bottom of the current
   ephemeral ID range

    - e.g., 2^31+2, 2^31+3, ...
    - we already statically allocate a few such IDs for private purposes
      of the CIFS server / ID mapping projects

    - we know we can represent them in NFSv4, and in CIFS (took some
      research to establish the latter)

       - making this work for CIFS may require minor changes to smbd and
         idmapd, the kernel, and the name services framework

          - lots of teams to negotiate with; don't expect a proposal for
            this any time soon

    - if the kernel knows the range of such IDs then we can even make
      them work with NFSv3, AUTH_SYS, and even UFS (don't we don't have
      to)

    - initially we could set aside a reasonable number of IDs > 2^31 for
      this, and increase it as we need to; increasing this range may
      require a reboot, depending on implementation choices

Nico
-- 

Reply via email to