roughlength
roughlength(block, 1),
roughlength(drivelength, 1),
roughlength(drivelength, 1),
roughlength(drive.bytes_read, 1));
roughlength(drive.bytes_written, 1));
roughlength(vol.size << DEV_BSHIFT, 0));
roughlength(vol.bytes_read, 1));
roughlength(vol.bytes_written, 1));
roughlength(plex.length << DEV_BSHIFT, 0));
printf("\tStripe size: %s\n", roughlength(plex.stripesize * DEV_BSIZE, 1));
roughlength((plex.checkblock << DEV_BSHIFT) * (plex.subdisks - 1), 0),
roughlength(plex.length << DEV_BSHIFT, 0));
roughlength(plex.bytes_read, 1));
roughlength(plex.bytes_written, 1));
roughlength((long long) sd.plexoffset * DEV_BSIZE, 1));
roughlength(sd.revived << DEV_BSHIFT, 0),
roughlength(sd.revive_blocksize, 0),
roughlength(sd.initialized << DEV_BSHIFT, 0),
roughlength(sd.init_blocksize, 0),
roughlength(sd.driveoffset * DEV_BSIZE, 1));
roughlength(sd.driveoffset * DEV_BSIZE, 1));
&(roughlength(sd.plexoffset << DEV_BSHIFT, 0))[2]); /* what a kludge! */
roughlength(sd.sectors << DEV_BSHIFT, 0));
roughlength(sd.bytes_read, 1));
roughlength(sd.bytes_written, 1));
char *roughlength(int64_t bytes, int);