]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
compute correct defaultweight for bluestore 8701/head
authorDan van der Ster <daniel.vanderster@cern.ch>
Fri, 22 Apr 2016 14:37:25 +0000 (16:37 +0200)
committerDan van der Ster <daniel.vanderster@cern.ch>
Fri, 22 Apr 2016 14:37:34 +0000 (16:37 +0200)
The default crush weight should be the size of the block device, not
the tiny 10M xfs partition.

Backport: jewel
Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>
src/ceph-osd-prestart.sh

index cefca854e61ff4f78bba4dc38db41d218174d10b..c9a777d9661c2d9391ff768621a87ae2f2e517c4 100644 (file)
@@ -30,7 +30,11 @@ if [ "${update:-1}" = "1" -o "${update:-1}" = "true" ]; then
     fi
     location="$($hook --cluster ${cluster:-ceph} --id $id --type osd)"
     weight="$(ceph-conf --cluster=${cluster:-ceph} --name=osd.$id --lookup osd_crush_initial_weight || :)"
-    defaultweight=`df -P -k $data/ | tail -1 | awk '{ d= $2/1073741824 ; r = sprintf("%.4f", d); print r }'`
+    if [ -e $data/block ]; then
+        defaultweight=`blockdev --getsize64 $data/block | awk '{ d= $1/1099511627776 ; r = sprintf("%.4f", d); print r }'`
+    else
+        defaultweight=`df -P -k $data/ | tail -1 | awk '{ d= $2/1073741824 ; r = sprintf("%.4f", d); print r }'`
+    fi
     ceph \
         --cluster="${cluster:-ceph}" \
         --name="osd.$id" \