#define CEPH_OSDMAP_PAUSERD (1<<2) /* pause all reads */
#define CEPH_OSDMAP_PAUSEWR (1<<3) /* pause all writes */
#define CEPH_OSDMAP_PAUSEREC (1<<4) /* pause recovery */
+#define CEPH_OSDMAP_NOUP (1<<5) /* block osd boot */
+#define CEPH_OSDMAP_NODOWN (1<<6) /* block osd mark-down/failure */
+#define CEPH_OSDMAP_NOOUT (1<<7) /* block osd auto mark-out */
+#define CEPH_OSDMAP_NOIN (1<<8) /* block osd auto mark-in */
/*
* The error code to return when an OSD can't handle a write
delete cct;
}
-string OSDMap::get_flag_string() const
+string OSDMap::get_flag_string(unsigned f)
{
string s;
- if (test_flag(CEPH_OSDMAP_NEARFULL))
+ if ( f& CEPH_OSDMAP_NEARFULL)
s += ",nearfull";
- if (test_flag(CEPH_OSDMAP_FULL))
+ if (f & CEPH_OSDMAP_FULL)
s += ",full";
- if (test_flag(CEPH_OSDMAP_PAUSERD))
+ if (f & CEPH_OSDMAP_PAUSERD)
s += ",pauserd";
- if (test_flag(CEPH_OSDMAP_PAUSEWR))
+ if (f & CEPH_OSDMAP_PAUSEWR)
s += ",pausewr";
- if (test_flag(CEPH_OSDMAP_PAUSEREC))
+ if (f & CEPH_OSDMAP_PAUSEREC)
s += ",pauserec";
+ if (f & CEPH_OSDMAP_NOUP)
+ s += ",no-up";
+ if (f & CEPH_OSDMAP_NODOWN)
+ s += ",no-down";
+ if (f & CEPH_OSDMAP_NOOUT)
+ s += ",no-out";
+ if (f & CEPH_OSDMAP_NOIN)
+ s += ",no-in";
if (s.length())
s = s.erase(0, 1);
return s;
}
+string OSDMap::get_flag_string() const
+{
+ return get_flag_string(flags);
+}
+
struct qi {
int item;
int depth;
void print_tree(ostream& out) const;
string get_flag_string() const;
+ static string get_flag_string(unsigned flags);
void dump_json(ostream& out) const;
void dump(Formatter *f) const;
static void generate_test_instances(list<OSDMap*>& o);