From 0c8e964be23e814b1763fcba47b5b93fa37c132b Mon Sep 17 00:00:00 2001 From: Patrick Donnelly Date: Sun, 2 Oct 2022 20:45:48 -0400 Subject: [PATCH] qa/workunits/fs/damage: update first-damage test for python Signed-off-by: Patrick Donnelly --- qa/workunits/fs/damage/test-first-damage.sh | 43 +++++++++++++++------ 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/qa/workunits/fs/damage/test-first-damage.sh b/qa/workunits/fs/damage/test-first-damage.sh index 8945e44bafb97..ed1fc0603677f 100755 --- a/qa/workunits/fs/damage/test-first-damage.sh +++ b/qa/workunits/fs/damage/test-first-damage.sh @@ -2,12 +2,13 @@ set -ex -FIRST_DAMAGE="first-damage.sh" +FIRST_DAMAGE="first-damage.py" FS=cephfs METADATA_POOL=cephfs_meta +MOUNT=~/mnt/mnt.0 function usage { - printf '%s: [--fs=] [--metadata-pool=] [--first-damage=]\n' + printf '%s: [--fs=] [--metadata-pool=] [--first-damage=]\n' exit 1 } @@ -60,15 +61,13 @@ function damage { } function recover { - # drop client cache -- approx. umount without unmounting for test - echo 3 | sudo tee /proc/sys/vm/drop_caches flush ceph fs fail "$FS" sleep 5 cephfs-journal-tool --rank="$FS":0 event recover_dentries summary cephfs-journal-tool --rank="$FS":0 journal reset - $FIRST_DAMAGE "$METADATA_POOL" - $FIRST_DAMAGE --remove "$METADATA_POOL" + python3 $FIRST_DAMAGE --memo /tmp/memo1 "$METADATA_POOL" + python3 $FIRST_DAMAGE --memo /tmp/memo2 --remove "$METADATA_POOL" ceph fs set "$FS" joinable true } @@ -98,8 +97,13 @@ function cleanup { rm -rf dir } +function mount { + sudo --preserve-env=CEPH_CONF bin/mount.ceph :/ "$MOUNT" -o name=admin,noshare + df -h "$MOUNT" +} + function main { - eval set -- $(getopt --name "$0" --options '' --longoptions 'help,fs:,metadata-pool:,first-damage:' -- "$@") + eval set -- $(getopt --name "$0" --options '' --longoptions 'help,fs:,metadata-pool:,first-damage:,mount:' -- "$@") while [ "$#" -gt 0 ]; do echo "$*" @@ -116,6 +120,10 @@ function main { METADATA_POOL="$2" shift 2 ;; + --mount) + MOUNT="$2" + shift 2 + ;; --first-damage) FIRST_DAMAGE="$2" shift 2 @@ -130,18 +138,31 @@ function main { esac done + mount + + pushd "$MOUNT" create + popd + + sudo umount -f "$MOUNT" # flush dentries/inodes to omap - (cd / && flush) + flush - (cd / && damage) + damage - (cd / && recover) + recover - check + sleep 5 # for mds to join + + mount + pushd "$MOUNT" + check cleanup + popd + + sudo umount -f "$MOUNT" } main "$@" -- 2.39.5