X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=store.cc;fp=store.cc;h=1ea24396a81783ae90ab63a2d79e61a7d8022fe4;hb=d38558b79c81f446698c272a85f1a2782667bce3;hp=a156a570f791c3539ec9f457533fd5b04287dbb7;hpb=0ab3b10e857ee5916f1765e3b8f773446cf4de45;p=cumulus.git diff --git a/store.cc b/store.cc index a156a57..1ea2439 100644 --- a/store.cc +++ b/store.cc @@ -232,6 +232,7 @@ ObjectReference TarSegmentStore::write_object(const char *data, size_t len, segment->fullname = path + "/" + segment->basename; segment->file = new Tarfile(segment->fullname, segment->name); segment->count = 0; + segment->size = 0; segments[group] = segment; } else { @@ -244,6 +245,7 @@ ObjectReference TarSegmentStore::write_object(const char *data, size_t len, segment->file->write_object(id, data, len); segment->count++; + segment->size += len; group_sizes[group] += len; @@ -282,7 +284,8 @@ void TarSegmentStore::close_segment(const string &group) SHA1Checksum segment_checksum; if (segment_checksum.process_file(segment->fullname.c_str())) { string checksum = segment_checksum.checksum_str(); - db->SetSegmentChecksum(segment->name, segment->basename, checksum); + db->SetSegmentChecksum(segment->name, segment->basename, checksum, + segment->size); } }