[AFS3-std] [RPC Request] 64-bit volume IDs, quotas,
and block usages
Steve Simmons
scs@umich.edu
Wed, 15 Jul 2009 17:06:26 -0400
On Jun 22, 2009, at 12:27 AM, Jeffrey Altman wrote:
> Increasing the volumeId field size to 64-bits is fine provided that
> the
> transition model for older clients is documented and well understood.
> If the need of the community is that we support the older RPCs for a
> minimum of ten years from the time the last client ships with just the
> older RPCs, then rolling out RPCs that require new clients to be
> able to
> handle 64-bit time and volumeIds this year will provide the
> community 29
> years to upgrade software or retire old clients before the existing
> RPCs
> will simply fail.
Pardon the lateness of my $0.02, but I think the above is the key
point. It's not impossible to have some future smart cell that maps
volume ids between 64 and 32 bit volids. When it receives a 32-bit
request, it maps the 32-bit volid to the 64, then serves the data
based on the mapped volid. As long as the cell has less than 2^32
volumes total, everything is fine. Should a 64-bit client happen to
contact a 32-bit cell, well, it has to fall back to 32-bit RPCs.
Neither of these is acceptable on a permanent basis, but it does get
things through the transition period to 64bit stuff. We can further
push the transition if we tie the use of the hybrid clients to major
releases of the client OS. A hybrid client and server might be ready
by the time of deploying Window8 or 9, of some major OSX future, and
some particular future Linux kernel. Once all three have become 99%+
of the deployed systems, we can start looking at pulling out the 32-
bit support.
In a similar manner, we need to think more about how to get backwards
compatibility with longer volume names. A cell that starts approaching
2^32 volumes is going to have real problems coming up with sensible
volume names.
Someone made a comment about NASA running legacy systems that are 20-
odd years old. That's true, but largely irrelevant - they're not
putting those systems (with all their security issues) onto the global
internet. On private networks, they can run old servers to serve their
old clients.
Dan Hyde and I have had extensive discussions of some of the issues
relating to having many many clones/shadows/snapshots of a given
volume. It seems perfectly reasonable to me that there are some highly
desirable features there, but they'd cause huge proliferation of
volume IDs. Umich, like a lot of other sites, is about halfway to the
max volid. At some point, afs will implement features that consume
those IDs like popcorn. It would be very useful to have 64bit-ready
clients out there sooner rather than later.