]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mkcephfs: error out if mon data directory is not empty
authorSage Weil <sage@inktank.com>
Tue, 10 Jul 2012 01:16:44 +0000 (18:16 -0700)
committerSage Weil <sage@inktank.com>
Mon, 16 Jul 2012 23:14:39 +0000 (16:14 -0700)
The ceph-mon --mkfs function no longer wipes out the directory; it is in
fact mostly a no-op that just verifies the dir exists.

So, ensure that the directory is empty at mkfs time.  This could
alternatively do an 'rm -r' in that directory (that is in fact what
ceph-mon used to do), but this is safer.

Signed-off-by: Sage Weil <sage@inktank.com>
src/mkcephfs.in

index 17b6014474d37be9f8311e53f7db8496e4259943..aa8eee15efe303f7b01a43616e101ce314b92b8b 100644 (file)
@@ -266,6 +266,12 @@ if [ -n "$initdaemon" ]; then
     fi
 
     if [ $type = "mon" ]; then
+       get_conf mon_data "/var/run/ceph/mon/ceph-$id" "mon data"
+       if [ `ls $mon_data | wc -l` -ne 0 ]; then
+           echo "ERROR: $name mon_data directory $mon_data is not empty."
+           echo "       Please make sure that it is empty before running mkcephfs."
+           exit 1
+       fi
        $BINDIR/ceph-mon -c $conf --mkfs -i $id --monmap $dir/monmap --osdmap $dir/osdmap -k $dir/keyring.mon
     fi