The following commit introduces an incompatible chunkd change, which
breaks compatibility with (a) existing on-disk chunkd databases, and (b)
existing chunkd network protocol entities.
Prior to commit ea5d20bc22aeed077312c9c1824e84651af17a16, chunkd stored
SHA1 checksums as ASCII, and sent them across the wire in each message
in ASCII.
Converting these to directly store and use SHA1 binary checksums on-disk
saves several memory allocations, and more importantly, shaves 44 bytes
off each chunkd message. ASCII is only needed in the XML-based
list-objects output, so we only perform the conversion at list-objects time.
Jeff
commit ea5d20bc22aeed077312c9c1824e84651af17a16
Author: Jeff Garzik <jeff@xxxxxxxxxx>
Date: Wed Jul 7 00:51:48 2010 -0400
[chunk] protocol, disk fmt: Replace ASCII checksum representation
with binary
Rather than converting SHA1 checksums back and forth between ASCII
and binary, always store and compare binary checksums. Only convert
to ASCII when performing a list-objects request, which requires
XML output.
Among other savings, this decreases the size of the per-message
fixed-length header by 44 bytes.
Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx>
chunkd/be-fs.c | 47 +++++++++++++++--------------------------------
chunkd/chunkd.h | 9 +++++----
chunkd/object.c | 14 ++++----------
chunkd/selfcheck.c | 19 +++++++++++--------
include/chunk_msg.h| 4 ++--
5 files changed, 37 insertions(+), 56 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe hail-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html