Lines Matching refs:mdir
28 # load mdir
37 mdir = MetadataPair(data)
38 mdir.blocks = tuple(blocks[id(p.data)] for p in mdir.pair)
42 mdir.tail = mdir[Tag('tail', 0, 0)]
43 if mdir.tail.size != 8 or mdir.tail.data == 8*b'\xff':
44 mdir.tail = None
46 mdir.tail = None
50 nsuperblock = mdir[
52 superblock = nsuperblock, mdir[Tag('inlinestruct', 0, 0)]
58 ngstate = mdir[Tag('movestate', 0, 0)]
65 if not mdir:
66 corrupted.append(mdir)
69 mdirs.append(mdir)
70 if mdir.tail is None or not mdir.tail.is_('hardtail'):
74 if mdir.tail is None:
77 tail = struct.unpack('<II', mdir.tail.data)
78 hard = mdir.tail.is_('hardtail')
88 for mdir in dir:
89 for tag in mdir.tags:
93 dirstruct = mdir[Tag('dirstruct', tag.id, 0)]
121 # print mdir info
126 for j, mdir in enumerate(dir):
127 print("mdir {%#x, %#x} rev %d (was %d)%s%s" % (
128 mdir.blocks[0], mdir.blocks[1], mdir.rev, mdir.pair[1].rev,
129 ' (corrupted!)' if not mdir else '',
130 ' -> {%#x, %#x}' % struct.unpack('<II', mdir.tail.data)
131 if mdir.tail else ''))
135 mdir.dump_log(f, truncate=not args.no_truncate)
137 mdir.dump_all(f, truncate=not args.no_truncate)
139 mdir.dump_tags(f, truncate=not args.no_truncate)
150 for mdir in corrupted:
152 print("*** corrupted mdir {%#x, %#x}! ***" % (
153 mdir.blocks[0], mdir.blocks[1]))