]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
tools: allow spaces in dentries for first-damage.sh
authorPatrick Donnelly <pdonnell@redhat.com>
Fri, 16 Sep 2022 19:00:38 +0000 (15:00 -0400)
committerPatrick Donnelly <pdonnell@redhat.com>
Mon, 19 Sep 2022 17:34:22 +0000 (13:34 -0400)
Fixes: https://tracker.ceph.com/issues/57586
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
src/tools/cephfs/first-damage.sh

index db50e8bdb0cfe1b2266b133d69aeedd57694e890..29e233c43878df701c024f15522e0bb8c0550d7e 100755 (executable)
@@ -58,7 +58,9 @@ function traverse {
   mrados ls | grep -E '[[:xdigit:]]{8,}\.[[:xdigit:]]+' > "$T"
   while read obj; do
     local O=$(mktemp -p /tmp "$obj".XXXXXX)
-    for dnk in $(mrados listomapkeys "$obj"); do
+    local KEYS=$(mktemp -p /tmp "$obj"-keys.XXXXXX)
+    mrados listomapkeys "$obj" > "$KEYS"
+    while read dnk; do
       mrados getomapval "$obj" "$dnk" "$O"
       local first=$(dd if="$O" bs=1 count=4 | od --endian=little -An -t u8)
       if [ "$first" -gt "$NEXT_SNAP" ]; then
@@ -68,7 +70,7 @@ function traverse {
           mrados rmomapkey "$obj" "$dnk"
         fi
       fi
-    done
+    done < "$KEYS"
     rm "$O"
   done < "$T"
 }