[OpenAFS-devel] long volume names (was IPV6)
Derrick J Brashear
shadow@dementia.org
Wed, 10 Sep 2003 13:14:16 -0400 (EDT)
On Wed, 10 Sep 2003, Jeffrey Hutzelman wrote:
> No, a UUID won't work; it has to be a computable hash. The reason is that
> the fileserver doing name translation is the one that has the mount point,
> which may not be the same place as the mounted volume. So if it's not
> computable, then the fileserver still has to call the vlserver.
Ok, that's fair.
> Further, an MD5 hash fits just fine, if you encode it as base64 instead of
> hex. An MD5 hash is 128 bits long; in base64, it will encode as a
> 24-character string, and the last 2 characters will always be '=' (no other
> characters will be '='). So you can drop the two trailing '=', leaving a
> 22-character string which fits exactly into the volume name length limit.
> Further, these strings will not conflict with any "real" volume name which
> contains a '.', '-' or '_', since these are not in the base64 symbol set.
> root.afs and root.cell are examples of such names.
>
> To further reduce the possibility of conflicts, one could note that the
> last character of the 22-character string carries only 2 bits of data, and
> in a standard encoding will always be one of 'A', 'Q', 'g', or 'w'. These
> could be replaced with less likely characters, such as '@', '#', '$', and
> '%' or something.