#
function get_last_scrub_stamp() {
local pgid=$1
+ local sname=${2:-last_scrub_stamp}
ceph --format xml pg dump pgs 2>/dev/null | \
- $XMLSTARLET sel -t -m "//pg_stat[pgid='$pgid']/last_scrub_stamp" -v .
+ $XMLSTARLET sel -t -m "//pg_stat[pgid='$pgid']/$sname" -v .
}
function test_get_last_scrub_stamp() {
wait_for_scrub $pgid "$last_scrub"
}
+function pg_deep_scrub() {
+ local pgid=$1
+ local last_scrub=$(get_last_scrub_stamp $pgid last_deep_scrub_stamp)
+ ceph pg deep-scrub $pgid
+ wait_for_scrub $pgid "$last_scrub" last_deep_scrub_stamp
+}
+
function test_pg_scrub() {
local dir=$1
function wait_for_scrub() {
local pgid=$1
local last_scrub="$2"
+ local sname=${3:-last_scrub_stamp}
for ((i=0; i < $TIMEOUT; i++)); do
- if test "$last_scrub" != "$(get_last_scrub_stamp $pgid)" ; then
+ if test "$last_scrub" != "$(get_last_scrub_stamp $pgid $sname)" ; then
return 0
fi
sleep 1