diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2022-08-29 20:28:58 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2022-08-30 21:29:16 -0600 |
commit | 079c2a1316616b997e0050a1423c0a5e6bda4f16 (patch) | |
tree | 7fc070389da190e4af2ff9acf76f33840989a755 /lib/btrfsprogs/btrfsinspect/rebuildnodes/uuidmap.go | |
parent | 709553bb19fcd5abf0a2839a18d2dd0c66554dd2 (diff) |
wip
Diffstat (limited to 'lib/btrfsprogs/btrfsinspect/rebuildnodes/uuidmap.go')
-rw-r--r-- | lib/btrfsprogs/btrfsinspect/rebuildnodes/uuidmap.go | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/lib/btrfsprogs/btrfsinspect/rebuildnodes/uuidmap.go b/lib/btrfsprogs/btrfsinspect/rebuildnodes/uuidmap.go index 606f8f9..ba090fb 100644 --- a/lib/btrfsprogs/btrfsinspect/rebuildnodes/uuidmap.go +++ b/lib/btrfsprogs/btrfsinspect/rebuildnodes/uuidmap.go @@ -6,7 +6,6 @@ package rebuildnodes import ( "context" - "encoding/binary" "fmt" "github.com/datawire/dlib/dlog" @@ -86,9 +85,7 @@ func buildUUIDMap(ctx context.Context, fs *btrfs.FS, scanResults btrfsinspect.Sc return uuidMap{}, err } case btrfsitem.UUIDMap: - var uuid btrfsprim.UUID - binary.BigEndian.PutUint64(uuid[:8], uint64(item.Key.ObjectID)) - binary.BigEndian.PutUint64(uuid[8:], uint64(item.Key.Offset)) + uuid := btrfsitem.KeyToUUID(item.Key) if err := maybeSet("ObjID2UUID", ret.ObjID2UUID, itemBody.ObjID, uuid); err != nil { return uuidMap{}, err } @@ -106,7 +103,7 @@ func buildUUIDMap(ctx context.Context, fs *btrfs.FS, scanResults btrfsinspect.Sc missing := make(map[btrfsprim.ObjID]struct{}) for treeID := range seenTreeIDs { - if _, ok := ret.ObjID2UUID[treeID]; !ok { + if _, ok := ret.ObjID2UUID[treeID]; !ok && treeID != btrfsprim.ROOT_TREE_OBJECTID { missing[treeID] = struct{}{} continue } @@ -115,7 +112,7 @@ func buildUUIDMap(ctx context.Context, fs *btrfs.FS, scanResults btrfsinspect.Sc } } if len(missing) > 0 { - dlog.Errorf(ctx, "... could not find root items for trees %v", maps.SortedKeys(missing)) + dlog.Errorf(ctx, "... could not find root items for %d trees: %v", len(missing), maps.SortedKeys(missing)) } dlog.Info(ctx, "... done building table") |