# log_root_transid
# total_bytes
# bytes_used
-# root_dir_objectid (usually 6)
+# root_dir_objectid (usually 6)
# num_devices
# sectorsize
# nodesize
low = mid + 1
else:
return True, mid
-
+
return False, low
@property
def fs_root(self):
return self._fs_root_level, self._fs_root
-
+
@property
def extent_root(self):
return self._extent_root_level, self._extent_root
k = LeafKey(self.fd.read(LeafKey.sstruct.size))
self.fd.seek(offset + k.data_offset)
if k.type == CHUNK_ITEM_KEY:
- item = _key_type_class_map[k.type](k, self.fd.read(k.data_size))
+ item = _key_type_class_map[k.type](k, self.fd.read(k.data_size))
for st in item.stripes:
self._insert_chunk(chunk_map_item(item.vaddr, st.offset, item.length, st.devid))
# TODO: better understand this
if not found and itemnr > 0:
itemnr -= 1
-
+
self.fd.seek(root_offset + _node_header_struct.size + itemnr * InnerKey.sstruct.size)
k = InnerKey(self.fd.read(InnerKey.sstruct.size))
- root_offset = k.block_num
+ root_offset = k.block_num
else:
# we are in leaf node
root_offset = self.logical_to_physical(root_offset)
print(k)
self.fd.seek(root_paddr + _node_header_struct.size + k.data_offset)
if k.type in _key_type_class_map and header.level == 0:
- item = _key_type_class_map[k.type](k, self.fd.read(k.data_size))
+ item = _key_type_class_map[k.type](k, self.fd.read(k.data_size))
print(item)
if k.type == DIR_ITEM_KEY:
for it in item: