Coda File System

the unexplored (?) 64-bit RVM

From: <>
Date: Fri, 19 Aug 2016 16:51:01 +0200

I have looked at the source of librvm and at the first glance
it is consistent about usage of long or unsigned long values
in rvm addressing.

Apparently there was at least one inconsistency in int vs long
in rdsinit (using an int value as a counter to detect the
end of the zero initialization run), but it was trivial to fix.

This could imply that librvm is more or less 64-bits-clean
but my smoke tests showed that either/both rdsutils and coda server
build for x86_64 (LP64 ABI) break when presented with RVM >= 2GB.
This may be of course a consequence of rdsutils being broken,
generating incorrect RVM even in some cases when they pretend to succeed.

The failure diagnostics vary, depending on the size of RVM
but look deterministic. (no apparent problems up to 2047MB RVM size)

This clearly indicates that the code was never used on LP64 platforms
with RVM > 2GB. Nevertheless just to be sure I would like to ask
on the list, whether RVM was tested or used on ILP64 platforms (Alpha?)
with sizes exceeding 2G?

On the other hand, may be there was never an intention to support RVM
bigger than 2^32 and a rewrite or replacement is needed to do such
a thing? Hope the authors can tell.

Thanks in advance if someone can sched light on this matter.

Our realms become quite large and even though adding more servers
works around the limitation it would be nice to avoid the limitation
if possible.

Your verdict?

Received on 2016-08-19 10:51:43