diff options
author | Samuel Just <sam.just@inktank.com> | 2013-03-21 11:19:45 -0700 |
---|---|---|
committer | Samuel Just <sam.just@inktank.com> | 2013-03-21 18:46:11 -0700 |
commit | 7bfaaf7a20252754bcf239aab6582c0ad3ea9763 (patch) | |
tree | 43e861e7552d14fdcab11465a4aa4d75a8ba2e64 /src/osd/OSD.h | |
parent | a2dba959d29e62daf6ff9142a32f9071157afa14 (diff) | |
download | ceph-7bfaaf7a20252754bcf239aab6582c0ad3ea9763.tar.gz |
OSD: notify mon prior to shutdown
Signed-off-by: Samuel Just <sam.just@inktank.com>
Diffstat (limited to 'src/osd/OSD.h')
-rw-r--r-- | src/osd/OSD.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/osd/OSD.h b/src/osd/OSD.h index d41c9fec4d6..148b761f532 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -406,6 +406,24 @@ public: void check_nearfull_warning(const osd_stat_t &stat); bool check_failsafe_full(); + // -- stopping -- + Mutex is_stopping_lock; + Cond is_stopping_cond; + enum { + NOT_STOPPING, + PREPARING_TO_STOP, + STOPPING } state; + bool is_stopping() { + Mutex::Locker l(is_stopping_lock); + return state == STOPPING; + } + bool is_preparing_to_stop() { + Mutex::Locker l(is_stopping_lock); + return state == PREPARING_TO_STOP; + } + bool prepare_to_stop(); + void got_stop_ack(); + OSDService(OSD *osd); }; class OSD : public Dispatcher, |