summaryrefslogtreecommitdiff
path: root/cmd/btrfs-rec/inspect/rebuildtrees/util.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2023-03-14 21:31:30 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2023-03-14 21:31:30 -0600
commit9e9b4e8ac67052d667f6e7fae0a6620b6dbc50c7 (patch)
tree1aed8e061590b90a3158511a6e9a098851344516 /cmd/btrfs-rec/inspect/rebuildtrees/util.go
parent34bf167ef33c57b4d6767273f1d265971a4693b9 (diff)
parente92796fed05143239733d3feec0231a69af2f617 (diff)
Merge branch 'lukeshu/reorg'
Diffstat (limited to 'cmd/btrfs-rec/inspect/rebuildtrees/util.go')
-rw-r--r--cmd/btrfs-rec/inspect/rebuildtrees/util.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/cmd/btrfs-rec/inspect/rebuildtrees/util.go b/cmd/btrfs-rec/inspect/rebuildtrees/util.go
new file mode 100644
index 0000000..71caee0
--- /dev/null
+++ b/cmd/btrfs-rec/inspect/rebuildtrees/util.go
@@ -0,0 +1,31 @@
+// Copyright (C) 2022-2023 Luke Shumaker <lukeshu@lukeshu.com>
+//
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+package rebuildtrees
+
+import (
+ "golang.org/x/exp/constraints"
+
+ "git.lukeshu.com/btrfs-progs-ng/cmd/btrfs-rec/inspect/rebuildmappings"
+)
+
+func countNodes(nodeScanResults rebuildmappings.ScanDevicesResult) int {
+ var cnt int
+ for _, devResults := range nodeScanResults {
+ cnt += len(devResults.FoundNodes)
+ }
+ return cnt
+}
+
+func roundDown[T constraints.Integer](n, d T) T {
+ return (n / d) * d
+}
+
+func roundUp[T constraints.Integer](n, d T) T {
+ return ((n + d - 1) / d) * d
+}
+
+func discardOK[T any](val T, _ bool) T {
+ return val
+}