summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2023-02-12 11:48:38 -0700
committerLuke Shumaker <lukeshu@lukeshu.com>2023-02-12 16:19:00 -0700
commitea319c1b817e65ad0808f08343b3203e62ab15a9 (patch)
treea72c100fcf5591f2c87e1add9ea632a50a0ebd45 /scripts
parent6ad6b1faaded4618b7022644f712c9c17b58c200 (diff)
scripts: Clean up the scripts to be clearer and more consistent
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/diff-dump-tree.sh13
-rwxr-xr-xscripts/main.sh58
-rwxr-xr-xscripts/mount.sh18
3 files changed, 56 insertions, 33 deletions
diff --git a/scripts/diff-dump-tree.sh b/scripts/diff-dump-tree.sh
index 3d560d9..c3de337 100755
--- a/scripts/diff-dump-tree.sh
+++ b/scripts/diff-dump-tree.sh
@@ -1,4 +1,8 @@
#!/bin/bash
+readonly image=../scratch/new.img
+
+######################################################################
+
set -e
(
cd ../btrfs-progs
@@ -12,14 +16,19 @@ set -e
fi
make
)
+
+make build
+
+######################################################################
+
diff -u \
- <(../btrfs-progs/btrfs inspect dump-tree --noscan --csum-items ../scratch/new.img |
+ <(../btrfs-progs/btrfs inspect dump-tree --noscan --csum-items "$image" |
sed -e 's/ UNKNOWN.0 / UNTYPED /g' \
-e 's/\b18446744073709551615\b/-1/g' \
-e 's/INODE_REF 6)/INODE_REF ROOT_TREE_DIR)/g' \
-e 's/ROOT_BACKREF 5)/ROOT_BACKREF FS_TREE)/g' \
) \
- <(go run ./cmd/btrfs-rec/ inspect dump-trees --pv=../scratch/new.img |
+ <(./bin/btrfs-rec inspect dump-trees --pv="$image" |
sed -E \
-e 's/([0-9]),/\1/g' \
)
diff --git a/scripts/main.sh b/scripts/main.sh
index d89f387..73eada7 100755
--- a/scripts/main.sh
+++ b/scripts/main.sh
@@ -1,30 +1,38 @@
#!/bin/bash
+readonly image=../scratch/dump-zero.img
+
+######################################################################
+
set -e
-b=../scratch/dump-zero
-gen() (
+
+run-btrfs-rec() {
local tgt=$1; shift
local log=${tgt%.*}.log
if test -s "$tgt"; then
return
fi
- { set -x; command time --verbose "$@"; } \
- >"$tgt" \
- 2> >(tee >&2 "$log")
-)
+ {
+ set -x;
+ command time --verbose \
+ ./bin/btrfs-rec \
+ --pv="$image" \
+ "$@"
+ } >"$tgt" 2> >(tee >&2 "$log")
+}
set -x
-CGO_ENABLED=0 go build -trimpath ./cmd/btrfs-rec
-mkdir -p "$b.gen"
+make build
+gendir="${image%.img}.gen"
+mkdir -p "$gendir"
+export GOMEMLIMIT="$(awk '/^MemTotal:/{ print $2 "KiB" }' </proc/meminfo)"
{ set +x; } &>/dev/null
-export GOMEMLIMIT="$(awk '/^MemTotal:/{ print $2 "KiB" }' </proc/meminfo)"
+######################################################################
-gen $b.gen/0.scandevices.json \
- ./btrfs-rec --pv=$b.img \
+run-btrfs-rec $gendir/0.scandevices.json \
inspect scandevices
-gen $b.gen/1.mappings.json \
- ./btrfs-rec --pv=$b.img \
- inspect rebuild-mappings $b.gen/0.scandevices.json
+run-btrfs-rec $gendir/1.mappings.json \
+ inspect rebuild-mappings $gendir/0.scandevices.json
# 1.mappings.log says:
#
@@ -44,19 +52,19 @@ gen $b.gen/1.mappings.json \
#
# And then run that through `rebuild-mappings` again to fill in the
# flags and normalize it.
-gen $b.gen/2.mappings.json \
- ./btrfs-rec --pv=$b.img --mappings=<(sed <$b.gen/1.mappings.json \
+run-btrfs-rec $gendir/2.mappings.json \
+ --mappings=<(sed <$gendir/1.mappings.json \
-e '2a{"LAddr":5242880,"PAddr":{"Dev":1,"Addr":5242880},"Size":1},' \
-e '2a{"LAddr":13631488,"PAddr":{"Dev":1,"Addr":13631488},"Size":1},') \
- inspect rebuild-mappings $b.gen/0.scandevices.json
+ inspect rebuild-mappings $gendir/0.scandevices.json
-gen $b.gen/3.nodes.json \
- ./btrfs-rec --pv=$b.img --mappings=$b.gen/2.mappings.json \
- inspect rebuild-nodes $b.gen/0.scandevices.json
+run-btrfs-rec $gendir/3.nodes.json \
+ --mappings=$gendir/2.mappings.json \
+ inspect rebuild-nodes $gendir/0.scandevices.json
-# gen $b.gen/4.ls-files.txt \
-# ./btrfs-rec --pv=$b.img --mappings=$b.gen/2.mappings.json \
+# run-btrfs-rec $gendir/4.ls-files.txt \
+# --mappings=$gendir/2.mappings.json \
# inspect ls-files
-# gen $b.gen/4.ls-trees.txt \
-# ./btrfs-rec --pv=$b.img --mappings=$b.gen/2.mappings.json \
-# inspect ls-trees --scandevices=$b.gen/0.scandevices.json
+# run-btrfs-rec $gendir/4.ls-trees.txt \
+# --mappings=$gendir/2.mappings.json \
+# inspect ls-trees --scandevices=$gendir/0.scandevices.json
diff --git a/scripts/mount.sh b/scripts/mount.sh
index f75f403..bf84163 100755
--- a/scripts/mount.sh
+++ b/scripts/mount.sh
@@ -1,14 +1,20 @@
#!/bin/bash
+readonly image=../scratch/dump-zero.img
+
+######################################################################
+
set -e
set -x
-go build ./cmd/btrfs-rec
+make build
-mkdir -p ../scratch/dump-zero.mnt
+gendir="${image%.img}.gen"
+mountpoint="${image%.img}.mnt"
+mkdir -p "$mountpoint"
-sudo ./btrfs-rec \
- --pv ../scratch/dump-zero.img \
- --mappings=../scratch/dump-zero.gen/2.mappings.json \
+sudo ./bin/btrfs-rec \
+ --pv="$image"
+ --mappings="$gendir/2.mappings.json" \
inspect mount \
--skip-filesums \
- ../scratch/dump-zero.mnt
+ "$mountpoint"