summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/btrfs-rec/inspect_lsfiles.go22
-rw-r--r--lib/btrfsprogs/btrfsinspect/print_tree.go5
-rw-r--r--lib/btrfsprogs/btrfsinspect/rebuildmappings/fuzzymatchsums.go7
-rw-r--r--lib/btrfsprogs/btrfsinspect/rebuildmappings/rebuildmappings.go6
-rw-r--r--lib/btrfsprogs/btrfsinspect/rebuildnodes/btrees/rebuilt_btrees.go4
5 files changed, 22 insertions, 22 deletions
diff --git a/cmd/btrfs-rec/inspect_lsfiles.go b/cmd/btrfs-rec/inspect_lsfiles.go
index 801da5d..502d91d 100644
--- a/cmd/btrfs-rec/inspect_lsfiles.go
+++ b/cmd/btrfs-rec/inspect_lsfiles.go
@@ -65,7 +65,7 @@ func printText(out io.Writer, prefix string, isLast bool, name, text string) {
if isLast {
first, rest = tL, tS
}
- for i, line := range strings.Split(fmt.Sprintf("%q %s", name, text), "\n") {
+ for i, line := range strings.Split(textui.Sprintf("%q %s", name, text), "\n") {
_, _ = io.WriteString(out, prefix)
if i == 0 {
_, _ = io.WriteString(out, first)
@@ -80,13 +80,13 @@ func printText(out io.Writer, prefix string, isLast bool, name, text string) {
func printSubvol(out io.Writer, prefix string, isLast bool, name string, subvol *btrfs.Subvolume) {
rootInode, err := subvol.GetRootInode()
if err != nil {
- printText(out, prefix, isLast, name+"/", fmt.Sprintf("subvol_id=%v err=%v",
+ printText(out, prefix, isLast, name+"/", textui.Sprintf("subvol_id=%v err=%v",
subvol.TreeID, fmtErr(err)))
return
}
dir, err := subvol.LoadDir(rootInode)
if err != nil {
- printText(out, prefix, isLast, name+"/", fmt.Sprintf("subvol_id=%v err=%v",
+ printText(out, prefix, isLast, name+"/", textui.Sprintf("subvol_id=%v err=%v",
subvol.TreeID, fmtErr(err)))
return
}
@@ -94,7 +94,7 @@ func printSubvol(out io.Writer, prefix string, isLast bool, name string, subvol
printDir(out, prefix, isLast, name, dir)
return
}
- printText(out, prefix, isLast, name+"/", fmt.Sprintf("subvol_id=%v", subvol.TreeID))
+ printText(out, prefix, isLast, name+"/", textui.Sprintf("subvol_id=%v", subvol.TreeID))
if isLast {
prefix += tS
} else {
@@ -118,7 +118,7 @@ func fmtInode(inode btrfs.BareInode) string {
} else {
mode = inode.InodeItem.Mode
}
- ret := fmt.Sprintf("ino=%v mode=%v", inode.Inode, mode)
+ ret := textui.Sprintf("ino=%v mode=%v", inode.Inode, mode)
if len(inode.Errs) > 0 {
ret += " err=" + fmtErr(inode.Errs)
}
@@ -153,7 +153,7 @@ func printDirEntry(out io.Writer, prefix string, isLast bool, subvol *btrfs.Subv
case btrfsitem.INODE_ITEM_KEY:
dir, err := subvol.LoadDir(entry.Location.ObjectID)
if err != nil {
- printText(out, prefix, isLast, name, fmt.Sprintf("%v err=%v", entry.Type, fmtErr(err)))
+ printText(out, prefix, isLast, name, textui.Sprintf("%v err=%v", entry.Type, fmtErr(err)))
return
}
printDir(out, prefix, isLast, name, dir)
@@ -173,7 +173,7 @@ func printDirEntry(out io.Writer, prefix string, isLast bool, subvol *btrfs.Subv
}
file, err := subvol.LoadFile(entry.Location.ObjectID)
if err != nil {
- printText(out, prefix, isLast, name, fmt.Sprintf("%v err=%v", entry.Type, fmtErr(err)))
+ printText(out, prefix, isLast, name, textui.Sprintf("%v err=%v", entry.Type, fmtErr(err)))
return
}
printSymlink(out, prefix, isLast, name, file)
@@ -184,7 +184,7 @@ func printDirEntry(out io.Writer, prefix string, isLast bool, subvol *btrfs.Subv
}
file, err := subvol.LoadFile(entry.Location.ObjectID)
if err != nil {
- printText(out, prefix, isLast, name, fmt.Sprintf("%v err=%v", entry.Type, fmtErr(err)))
+ printText(out, prefix, isLast, name, textui.Sprintf("%v err=%v", entry.Type, fmtErr(err)))
return
}
printFile(out, prefix, isLast, name, file)
@@ -195,7 +195,7 @@ func printDirEntry(out io.Writer, prefix string, isLast bool, subvol *btrfs.Subv
}
file, err := subvol.LoadFile(entry.Location.ObjectID)
if err != nil {
- printText(out, prefix, isLast, name, fmt.Sprintf("%v err=%v", entry.Type, fmtErr(err)))
+ printText(out, prefix, isLast, name, textui.Sprintf("%v err=%v", entry.Type, fmtErr(err)))
return
}
printSocket(out, prefix, isLast, name, file)
@@ -206,7 +206,7 @@ func printDirEntry(out io.Writer, prefix string, isLast bool, subvol *btrfs.Subv
}
file, err := subvol.LoadFile(entry.Location.ObjectID)
if err != nil {
- printText(out, prefix, isLast, name, fmt.Sprintf("%v err=%v", entry.Type, fmtErr(err)))
+ printText(out, prefix, isLast, name, textui.Sprintf("%v err=%v", entry.Type, fmtErr(err)))
return
}
printPipe(out, prefix, isLast, name, file)
@@ -225,7 +225,7 @@ func printSymlink(out io.Writer, prefix string, isLast bool, name string, file *
file.Errs = append(file.Errs, err)
}
}
- printText(out, prefix, isLast, name, fmt.Sprintf(
+ printText(out, prefix, isLast, name, textui.Sprintf(
"-> %q : %s",
tgt,
fmtInode(file.BareInode)))
diff --git a/lib/btrfsprogs/btrfsinspect/print_tree.go b/lib/btrfsprogs/btrfsinspect/print_tree.go
index b882c6b..2ede80f 100644
--- a/lib/btrfsprogs/btrfsinspect/print_tree.go
+++ b/lib/btrfsprogs/btrfsinspect/print_tree.go
@@ -6,7 +6,6 @@ package btrfsinspect
import (
"context"
- "fmt"
"io"
"math"
"strings"
@@ -184,7 +183,7 @@ func printTree(ctx context.Context, out io.Writer, fs *btrfs.FS, treeID btrfspri
case btrfsitem.ROOT_BACKREF_KEY:
tag = "backref"
default:
- tag = fmt.Sprintf("(error: unhandled RootRef item type: %v)", item.Key.ItemType)
+ tag = textui.Sprintf("(error: unhandled RootRef item type: %v)", item.Key.ItemType)
}
textui.Fprintf(out, "\t\troot %v key dirid %v sequence %v name %s\n",
tag, body.DirID, body.Sequence, body.Name)
@@ -444,6 +443,6 @@ func fmtKey(key btrfsprim.Key) string {
}
func fmtTime(t btrfsprim.Time) string {
- return fmt.Sprintf("%v.%v (%v)",
+ return textui.Sprintf("%v.%v (%v)",
t.Sec, t.NSec, t.ToStd().Format("2006-01-02 15:04:05"))
}
diff --git a/lib/btrfsprogs/btrfsinspect/rebuildmappings/fuzzymatchsums.go b/lib/btrfsprogs/btrfsinspect/rebuildmappings/fuzzymatchsums.go
index c6e23bc..0b5fc6f 100644
--- a/lib/btrfsprogs/btrfsinspect/rebuildmappings/fuzzymatchsums.go
+++ b/lib/btrfsprogs/btrfsinspect/rebuildmappings/fuzzymatchsums.go
@@ -6,16 +6,17 @@ package rebuildmappings
import (
"context"
- "fmt"
"sort"
"github.com/datawire/dlib/dlog"
+ "golang.org/x/text/number"
"git.lukeshu.com/btrfs-progs-ng/lib/btrfs"
"git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfssum"
"git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsvol"
"git.lukeshu.com/btrfs-progs-ng/lib/containers"
"git.lukeshu.com/btrfs-progs-ng/lib/maps"
+ "git.lukeshu.com/btrfs-progs-ng/lib/textui"
)
const minFuzzyPct = 0.5
@@ -95,12 +96,12 @@ func fuzzyMatchBlockGroupSums(ctx context.Context,
matchesStr = ""
case 1: // not sure how this can happen, but whatev
pct := float64(d-best.Dat[0].N) / float64(d)
- matchesStr = fmt.Sprintf("%v%%", int(100*pct))
+ matchesStr = textui.Sprintf("%v", number.Percent(pct))
apply = pct > minFuzzyPct
case 2:
pct := float64(d-best.Dat[0].N) / float64(d)
pct2 := float64(d-best.Dat[1].N) / float64(d)
- matchesStr = fmt.Sprintf("best=%v%% secondbest=%v%%", int(100*pct), int(100*pct2))
+ matchesStr = textui.Sprintf("best=%v secondbest=%v", number.Percent(pct), number.Percent(pct2))
apply = pct > minFuzzyPct && pct2 < minFuzzyPct
}
lvl := dlog.LogLevelError
diff --git a/lib/btrfsprogs/btrfsinspect/rebuildmappings/rebuildmappings.go b/lib/btrfsprogs/btrfsinspect/rebuildmappings/rebuildmappings.go
index 5bf1347..6eb119c 100644
--- a/lib/btrfsprogs/btrfsinspect/rebuildmappings/rebuildmappings.go
+++ b/lib/btrfsprogs/btrfsinspect/rebuildmappings/rebuildmappings.go
@@ -168,20 +168,20 @@ func RebuildMappings(ctx context.Context, fs *btrfs.FS, scanResults btrfsinspect
unmappedPhysical += region.End.Sub(region.Beg)
}
}
- dlog.Info(ctx, fmt.Sprintf("... %d KiB of unmapped physical space (across %d regions)", textui.Humanized(int(unmappedPhysical/1024)), textui.Humanized(numUnmappedPhysical)))
+ dlog.Infof(ctx, "... %d KiB of unmapped physical space (across %d regions)", textui.Humanized(int(unmappedPhysical/1024)), textui.Humanized(numUnmappedPhysical))
unmappedLogicalRegions := ListUnmappedLogicalRegions(fs, logicalSums)
var unmappedLogical btrfsvol.AddrDelta
for _, region := range unmappedLogicalRegions {
unmappedLogical += region.Size()
}
- dlog.Info(ctx, fmt.Sprintf("... %d KiB of unmapped summed logical space (across %d regions)", textui.Humanized(int(unmappedLogical/1024)), textui.Humanized(len(unmappedLogicalRegions))))
+ dlog.Infof(ctx, "... %d KiB of unmapped summed logical space (across %d regions)", textui.Humanized(int(unmappedLogical/1024)), textui.Humanized(len(unmappedLogicalRegions)))
var unmappedBlockGroups btrfsvol.AddrDelta
for _, bg := range bgs {
unmappedBlockGroups += bg.Size
}
- dlog.Info(ctx, fmt.Sprintf("... %d KiB of unmapped block groups (across %d groups)", textui.Humanized(int(unmappedBlockGroups/1024)), textui.Humanized(len(bgs))))
+ dlog.Infof(ctx, "... %d KiB of unmapped block groups (across %d groups)", textui.Humanized(int(unmappedBlockGroups/1024)), textui.Humanized(len(bgs)))
dlog.Info(ctx, "detailed report:")
for _, devID := range maps.SortedKeys(unmappedPhysicalRegions) {
diff --git a/lib/btrfsprogs/btrfsinspect/rebuildnodes/btrees/rebuilt_btrees.go b/lib/btrfsprogs/btrfsinspect/rebuildnodes/btrees/rebuilt_btrees.go
index ab4b55f..4f0f5d4 100644
--- a/lib/btrfsprogs/btrfsinspect/rebuildnodes/btrees/rebuilt_btrees.go
+++ b/lib/btrfsprogs/btrfsinspect/rebuildnodes/btrees/rebuilt_btrees.go
@@ -178,7 +178,7 @@ type rootStats struct {
}
func (s rootStats) String() string {
- return fmt.Sprintf("tree %v: adding root node@%v: %v%% (%v/%v) (added %v items, replaced %v items)",
+ return textui.Sprintf("tree %v: adding root node@%v: %v%% (%v/%v) (added %v items, replaced %v items)",
s.TreeID, s.RootNode,
int(100*float64(s.DoneLeafs)/float64(s.TotalLeafs)),
s.DoneLeafs, s.TotalLeafs,
@@ -309,7 +309,7 @@ type indexStats struct {
}
func (s indexStats) String() string {
- return fmt.Sprintf("tree %v: indexing leaf nodes: %v%% (%v/%v)",
+ return textui.Sprintf("tree %v: indexing leaf nodes: %v%% (%v/%v)",
s.TreeID,
int(100*float64(s.DoneNodes)/float64(s.TotalNodes)),
s.DoneNodes, s.TotalNodes)