mirror of
https://github.com/borgbackup/borg.git
synced 2025-02-24 23:13:25 +00:00
Fix cache recreation bug
This commit is contained in:
parent
6eb65d07f9
commit
e72c558dec
2 changed files with 11 additions and 6 deletions
|
@ -67,7 +67,6 @@ def save(self, name):
|
||||||
datum_writer = io.DatumWriter(archive_schema)
|
datum_writer = io.DatumWriter(archive_schema)
|
||||||
datum_writer.write(archive, encoder)
|
datum_writer.write(archive, encoder)
|
||||||
data = zlib.compress(writer.getvalue())
|
data = zlib.compress(writer.getvalue())
|
||||||
print 'archive size: %d' % len(data)
|
|
||||||
self.id = hashlib.sha256(data).digest()
|
self.id = hashlib.sha256(data).digest()
|
||||||
self.store.put(NS_ARCHIVES, self.id, data)
|
self.store.put(NS_ARCHIVES, self.id, data)
|
||||||
self.store.commit()
|
self.store.commit()
|
||||||
|
|
|
@ -57,11 +57,17 @@ def init(self):
|
||||||
decoder = io.BinaryDecoder(buffer)
|
decoder = io.BinaryDecoder(buffer)
|
||||||
archive = reader.read(decoder)
|
archive = reader.read(decoder)
|
||||||
self.archives[archive['name']] = id
|
self.archives[archive['name']] = id
|
||||||
for id, size in archive['chunks']:
|
for item in archive['items']:
|
||||||
if self.seen_chunk(id):
|
if item['type'] != 'FILE':
|
||||||
self.chunk_incref(id)
|
continue
|
||||||
else:
|
for idx in item['chunks']:
|
||||||
self.init_chunk(id, size)
|
chunk = archive['chunks'][idx]
|
||||||
|
id = chunk['id']
|
||||||
|
if self.seen_chunk(id):
|
||||||
|
self.chunk_incref(id)
|
||||||
|
else:
|
||||||
|
self.init_chunk(id, chunk['size'])
|
||||||
|
self.save()
|
||||||
|
|
||||||
def save(self):
|
def save(self):
|
||||||
assert self.store.state == self.store.OPEN
|
assert self.store.state == self.store.OPEN
|
||||||
|
|
Loading…
Reference in a new issue