summaryrefslogtreecommitdiff
path: root/pkg
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2022-06-06 12:26:09 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2022-06-06 12:26:09 -0600
commit7a464fd038977ba1d57d730e7f15a4df5c8ca91a (patch)
treefb09c0e57c5a744a20ee4c734016237da84e5a46 /pkg
parent432c52514c037402f1bbfb13ebf5997c4a2f0033 (diff)
fix
Diffstat (limited to 'pkg')
-rw-r--r--pkg/btrfs/crc32c.go5
-rw-r--r--pkg/btrfsmisc/fsck.go5
2 files changed, 7 insertions, 3 deletions
diff --git a/pkg/btrfs/crc32c.go b/pkg/btrfs/crc32c.go
index 4ea4169..8266706 100644
--- a/pkg/btrfs/crc32c.go
+++ b/pkg/btrfs/crc32c.go
@@ -2,11 +2,16 @@ package btrfs
import (
"encoding/binary"
+ "fmt"
"hash/crc32"
)
type CSum [0x20]byte
+func (csum CSum) String() string {
+ return fmt.Sprintf("%x", csum)
+}
+
func CRC32c(data []byte) CSum {
crc := crc32.Update(0, crc32.MakeTable(crc32.Castagnoli), data)
diff --git a/pkg/btrfsmisc/fsck.go b/pkg/btrfsmisc/fsck.go
index a771cf4..e44dcb6 100644
--- a/pkg/btrfsmisc/fsck.go
+++ b/pkg/btrfsmisc/fsck.go
@@ -45,14 +45,13 @@ func ScanForNodes(dev *btrfs.Device, sb btrfs.Superblock, fn func(*util.Ref[btrf
Size: sb.NodeSize,
},
}
- var nodeHeader btrfs.NodeHeader
- if _, err := binstruct.Unmarshal(nodeBuf, &nodeHeader); err != nil {
+ if _, err := binstruct.Unmarshal(nodeBuf, &nodeRef.Data.Head); err != nil {
fn(nil, fmt.Errorf("sector@%d: %w", pos, err))
}
// sanity checking
- if nodeHeader.MetadataUUID != sb.EffectiveMetadataUUID() {
+ if nodeRef.Data.Head.MetadataUUID != sb.EffectiveMetadataUUID() {
//fmt.Printf("sector@%d does not look like a node\n", pos)
continue
}