-# Compatibility
-lbs = cumulus
-
-# We support up to "LBS Snapshot v0.8" formats, but are also limited by the lbs
-# module.
-FORMAT_VERSION = min(lbs.FORMAT_VERSION, (0, 8))
+# We support up to "Cumulus Snapshot v0.11" formats, but are also limited by
+# the cumulus module.
+FORMAT_VERSION = min(cumulus.FORMAT_VERSION, (0, 11))
previous = set()
exts = {}
for seg in lowlevel.store.list('segments'):
exts.update ([seg.split ('.', 1)])
for s in sorted(lowlevel.list_snapshots()):
previous = set()
exts = {}
for seg in lowlevel.store.list('segments'):
exts.update ([seg.split ('.', 1)])
for s in sorted(lowlevel.list_snapshots()):
if len(segments) == 0:
segments = sorted(lowlevel.list_segments())
for s in segments:
for (o, data) in store.load_segment(s):
if len(segments) == 0:
segments = sorted(lowlevel.list_segments())
for s in segments:
for (o, data) in store.load_segment(s):
print "%s/%s:%d:%s" % (s, o, len(data), csum)
store.cleanup()
object_sums = cmd_object_checksums
print "%s/%s:%d:%s" % (s, o, len(data), csum)
store.cleanup()
object_sums = cmd_object_checksums
- lowlevel = lbs.LowlevelDataStore(options.store)
- store = lbs.ObjectStore(lowlevel)
- d = lbs.parse_full(store.load_snapshot(snapshot))
+ lowlevel = cumulus.LowlevelDataStore(options.store)
+ store = cumulus.ObjectStore(lowlevel)
+ d = cumulus.parse_full(store.load_snapshot(snapshot))
check_version(d['Format'])
print "## Root:", d['Root']
check_version(d['Format'])
print "## Root:", d['Root']
for m in metadata:
if m.fields['type'] not in ('-', 'f'): continue
print "%s [%d bytes]" % (m.fields['name'], int(m.fields['size']))
for m in metadata:
if m.fields['type'] not in ('-', 'f'): continue
print "%s [%d bytes]" % (m.fields['name'], int(m.fields['size']))
# actually accurate: covered all segments that were really read, and
# doesn't contain duplicates.
listed_segments = set(d['Segments'].split())
# actually accurate: covered all segments that were really read, and
# doesn't contain duplicates.
listed_segments = set(d['Segments'].split())
- print sorted(list(lbs.accessed_segments - listed_segments))
- if listed_segments - lbs.accessed_segments :
+ print sorted(list(cumulus.accessed_segments - listed_segments))
+ if listed_segments - cumulus.accessed_segments :
store.cleanup()
def cmd_restore_snapshot(args):
""" Restore a snapshot, or some subset of files from it
"""
get_passphrase()
store.cleanup()
def cmd_restore_snapshot(args):
""" Restore a snapshot, or some subset of files from it
"""
get_passphrase()
- lowlevel = lbs.LowlevelDataStore(options.store)
- store = lbs.ObjectStore(lowlevel)
- snapshot = lbs.parse_full(store.load_snapshot(args[0]))
+ lowlevel = cumulus.LowlevelDataStore(options.store)
+ store = cumulus.ObjectStore(lowlevel)
+ snapshot = cumulus.parse_full(store.load_snapshot(args[0]))
metadata_paths[pathname] = m
for block in m.data():
(segment, object, checksum, slice) \
metadata_paths[pathname] = m
for block in m.data():
(segment, object, checksum, slice) \
if segment not in metadata_segments:
metadata_segments[segment] = set()
metadata_segments[segment].add(pathname)
if segment not in metadata_segments:
metadata_segments[segment] = set()
metadata_segments[segment].add(pathname)
destpath = os.path.join(destdir, pathname)
file = open(destpath, 'wb')
destpath = os.path.join(destdir, pathname)
file = open(destpath, 'wb')