From 8dd4dfc841de65af95b716515cbfe55b3630a390 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 6 May 2023 17:54:46 -0600 Subject: mv scripts examples --- scripts/diff-dump-tree.sh | 34 ------------------ scripts/main.sh | 89 ----------------------------------------------- scripts/mount.sh | 21 ----------- 3 files changed, 144 deletions(-) delete mode 100755 scripts/diff-dump-tree.sh delete mode 100755 scripts/main.sh delete mode 100755 scripts/mount.sh (limited to 'scripts') diff --git a/scripts/diff-dump-tree.sh b/scripts/diff-dump-tree.sh deleted file mode 100755 index c3de337..0000000 --- a/scripts/diff-dump-tree.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash -readonly image=../scratch/new.img - -###################################################################### - -set -e -( - cd ../btrfs-progs - if ! test -f configure; then - ./autogen.sh - fi - if ! test -f config.status; then - ./configure \ - --disable-documentation \ - --enable-experimental - fi - make -) - -make build - -###################################################################### - -diff -u \ - <(../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' \ - ) \ - <(./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 deleted file mode 100755 index 082576a..0000000 --- a/scripts/main.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/bash -readonly image=../scratch/dump-zero.img - -###################################################################### - -set -e - -run-btrfs-rec() { - local tgt=$1; shift - local log=${tgt%.*}.log - if test -s "$tgt"; then - return - fi - { - set -x; - command time --verbose \ - ./bin/btrfs-rec \ - --pv="$image" \ - --profile.cpu="${tgt%.*}.cpu.pprof" \ - --profile.allocs="${tgt%.*}.allocs.pprof" \ - "$@" - } >"$tgt" 2> >(tee >&2 "$log") -} - -set -x -make build -gendir="${image%.img}.gen" -mkdir -p "$gendir" -export GOMEMLIMIT="$(awk '/^MemTotal:/{ print $2 "KiB" }' /dev/null - -###################################################################### - -# 0: initial scan ########################################## - -run-btrfs-rec $gendir/0.scandevices.json \ - inspect rebuild-mappings scan -run-btrfs-rec $gendir/0.nodes.json \ - inspect rebuild-mappings list-nodes $gendir/0.scandevices.json - -# 1-2: rebuild chunk/dev-ext/blockgroup trees ############## - -run-btrfs-rec $gendir/1.mappings.json \ - inspect rebuild-mappings process $gendir/0.scandevices.json - -# 1.mappings.log says: -# -# detailed report: -# ... unmapped physical region: dev=1 beg=0x0000000000000000 end=0x0000000000100000 (size=0x0000000000100000) -# ... unmapped physical region: dev=1 beg=0x0000000000500000 end=0x0000000001500000 (size=0x0000000001000000) -# ... unmapped physical region: dev=1 beg=0x0000003b9e650000 end=0x0000003b9e656000 (size=0x0000000000006000) -# ... umapped summed logical region: beg=0x0000000000d00000 end=0x0000000001500000 (size=0x0000000000800000) -# ... umapped block group: beg=0x0000000000500000 end=0x0000000000d00000 (size=0x0000000000800000) flags=METADATA|single -# ... umapped block group: beg=0x0000000000d00000 end=0x0000000001500000 (size=0x0000000000800000) flags=DATA|single -# -# Those 2 block groups clearly both slot in to that 2nd physical -# region (which is roughly beg=5MB end=22MB). Since that whole -# region's data was lost (roughly the 1st 100MB was lost), it doesn't -# matter which order we put the 2 block groups in within that physical -# region. So just put them in laddr order. -# -# And then run that through `rebuild-mappings process` again to fill in the -# flags and normalize it. -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 process $gendir/0.scandevices.json - -# 3: rebuild other trees ################################### - -run-btrfs-rec $gendir/3.trees.json \ - --mappings=$gendir/2.mappings.json \ - --node-list=$gendir/0.nodes.json \ - inspect rebuild-trees - -# 4: dump data from the FS ################################# - -run-btrfs-rec $gendir/4.ls-files.txt \ - --mappings=$gendir/2.mappings.json \ - --node-list=$gendir/0.nodes.json \ - --trees=$gendir/3.trees.json \ - inspect ls-files - -run-btrfs-rec $gendir/4.ls-trees.txt \ - --mappings=$gendir/2.mappings.json \ - --node-list=$gendir/0.nodes.json \ - --trees=$gendir/3.trees.json \ - inspect ls-trees diff --git a/scripts/mount.sh b/scripts/mount.sh deleted file mode 100755 index 4894e94..0000000 --- a/scripts/mount.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -readonly image=../scratch/dump-zero.img - -###################################################################### - -set -e -set -x - -make build - -gendir="${image%.img}.gen" -mountpoint="${image%.img}.mnt" -mkdir -p "$mountpoint" - -sudo ./bin/btrfs-rec \ - --pv="$image" - --mappings="$gendir/2.mappings.json" \ - --rebuild \ - inspect mount \ - --skip-filesums \ - "$mountpoint" -- cgit v1.2.3-2-g168b