On 10/19/2018 11:04 AM, Jonathan Proulx wrote: > Hi All, > > We're currently running a sightly hacked up version of balance-1.1a (I > belvieve originally from ftp://ftp.andrew.cmu.edu/pub/AFS-Tools/ ) on > a old 32bit linux server ( well 32bit kernel and userland hardware > under it is 64bit ) with openafs 1.6.1 > > Shockingly this seesm to still work, but I'm trying kill off the > oldest straggling servers and neither copying the binary (and using > 32bit libs ) nor recompiling it seems to work on new 64bit OS with > openafs 1.8.2
The "balance" sources date back to IBM 3.4 or earlier and relies upon ubik_Call() instead of ubik_VL_SetLock() ubik_VL_ReleaseLock() ubik_Call() is no longer used internally by OpenAFS but it is still exported. ubik_Call() relies upon varargs that are unlikely to interpret parameter types properly on systems with 64-bit pointers and/or size_t. Unless there are other 64-bit safety issues within balance itself, switching to ubik_VL_SetLock() and ubik_VL_ReleaseLock() might be sufficient. > I've also noticed that the Wiki points to an abandoned perl > implementation from 2007 > ( https://www.eyrie.org/~eagle/software/afs-balance/ ) Although similarly named Russ Allbery's balance which was developed at Stanford is unrelated to Dan Lovinger's balance. Russ' balance can make decisions based upon volume count and volume size whereas Dan's can make decisions based upon weekly volume usage as well. Jeffrey Altman
<<attachment: jaltman.vcf>>
smime.p7s
Description: S/MIME Cryptographic Signature
