]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mon: set ceph osd (down|out|in|rm) error code on failure
authorLoic Dachary <loic@dachary.org>
Sun, 15 Dec 2013 15:27:02 +0000 (16:27 +0100)
committerLoic Dachary <loic@dachary.org>
Sun, 15 Dec 2013 20:45:31 +0000 (21:45 +0100)
commit15b8616b13a327701c5d48c6cb7aeab8fcc4cafc
tree44be7d0d4df10f363774ca5579e70ff8d65ea6bc
parent80c6c54d93020c71a02608eafe3cd83159de9147
mon: set ceph osd (down|out|in|rm) error code on failure

Instead of always returning true, the error code is set if at least one
operation fails.

EINVAL if the OSD id is invalid (osd.foobar for instance).
EBUSY if trying to remove and OSD that is up.

When used with the ceph command line, it looks like this:

    ceph -c ceph.conf osd rm osd.0
    Error EBUSY: osd.0 is still up; must be down before removal.
    kill PID_OF_osd.0
    ceph -c ceph.conf osd down osd.0
    marked down osd.0.
    ceph -c ceph.conf osd rm osd.0 osd.1
    Error EBUSY: removed osd.0, osd.1 is still up; must be down before removal.

http://tracker.ceph.com/issues/6824 fixes #6824

Signed-off-by: Loic Dachary <loic@dachary.org>
src/mon/OSDMonitor.cc