/usr/lib/ceph/ceph-osd-prestart.sh is in ceph-osd 12.2.4-0ubuntu1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | #!/bin/sh
if [ `uname` = FreeBSD ]; then
GETOPT=/usr/local/bin/getopt
else
GETOPT=getopt
fi
eval set -- "$(${GETOPT} -o i: --long id:,cluster: -- $@)"
while true ; do
case "$1" in
-i|--id) id=$2; shift 2 ;;
--cluster) cluster=$2; shift 2 ;;
--) shift ; break ;;
esac
done
if [ -z "$id" ]; then
echo "Usage: $0 [OPTIONS]"
echo "--id/-i ID set ID portion of my name"
echo "--cluster NAME set cluster name (default: ceph)"
exit 1;
fi
data="/var/lib/ceph/osd/${cluster:-ceph}-$id"
# assert data directory exists - see http://tracker.ceph.com/issues/17091
if [ ! -d "$data" ]; then
echo "OSD data directory $data does not exist; bailing out." 1>&2
exit 1
fi
journal="$data/journal"
if [ -L "$journal" -a ! -e "$journal" ]; then
udevadm settle --timeout=5 || :
if [ -L "$journal" -a ! -e "$journal" ]; then
echo "ceph-osd(${cluster:-ceph}-$id): journal not present, not starting yet." 1>&2
exit 0
fi
fi
# ensure ownership is correct
owner=`stat -c %U $data/.`
if [ $owner != 'ceph' -a $owner != 'root' ]; then
echo "ceph-osd data dir $data is not owned by 'ceph' or 'root'"
echo "you must 'chown -R ceph:ceph ...' or similar to fix ownership"
exit 1
fi
exit 0
|