11fe60e51SSage Weil #ifndef __CEPH_FEATURES 21fe60e51SSage Weil #define __CEPH_FEATURES 31fe60e51SSage Weil 41fe60e51SSage Weil /* 51fe60e51SSage Weil * feature bits 61fe60e51SSage Weil */ 71fe60e51SSage Weil #define CEPH_FEATURE_UID (1<<0) 81fe60e51SSage Weil #define CEPH_FEATURE_NOSRCADDR (1<<1) 91fe60e51SSage Weil #define CEPH_FEATURE_MONCLOCKCHECK (1<<2) 101fe60e51SSage Weil #define CEPH_FEATURE_FLOCK (1<<3) 111fe60e51SSage Weil #define CEPH_FEATURE_SUBSCRIBE2 (1<<4) 121fe60e51SSage Weil #define CEPH_FEATURE_MONNAMES (1<<5) 131fe60e51SSage Weil #define CEPH_FEATURE_RECONNECT_SEQ (1<<6) 141fe60e51SSage Weil #define CEPH_FEATURE_DIRLAYOUTHASH (1<<7) 15ec73a754SAlex Elder #define CEPH_FEATURE_OBJECTLOCATOR (1<<8) 16ec73a754SAlex Elder #define CEPH_FEATURE_PGID64 (1<<9) 17ec73a754SAlex Elder #define CEPH_FEATURE_INCSUBOSDMAP (1<<10) 18ec73a754SAlex Elder #define CEPH_FEATURE_PGPOOL3 (1<<11) 19ec73a754SAlex Elder #define CEPH_FEATURE_OSDREPLYMUX (1<<12) 20ec73a754SAlex Elder #define CEPH_FEATURE_OSDENC (1<<13) 21ec73a754SAlex Elder #define CEPH_FEATURE_OMAP (1<<14) 22ec73a754SAlex Elder #define CEPH_FEATURE_MONENC (1<<15) 23ec73a754SAlex Elder #define CEPH_FEATURE_QUERY_T (1<<16) 24ec73a754SAlex Elder #define CEPH_FEATURE_INDEP_PG_MAP (1<<17) 25546f04efSSage Weil #define CEPH_FEATURE_CRUSH_TUNABLES (1<<18) 26ec73a754SAlex Elder #define CEPH_FEATURE_CHUNKY_SCRUB (1<<19) 27ec73a754SAlex Elder #define CEPH_FEATURE_MON_NULLROUTE (1<<20) 28ec73a754SAlex Elder #define CEPH_FEATURE_MON_GV (1<<21) 29ec73a754SAlex Elder #define CEPH_FEATURE_BACKFILL_RESERVATION (1<<22) 30ec73a754SAlex Elder #define CEPH_FEATURE_MSG_AUTH (1<<23) 31ec73a754SAlex Elder #define CEPH_FEATURE_RECOVERY_RESERVATION (1<<24) 321604f488SJim Schutt #define CEPH_FEATURE_CRUSH_TUNABLES2 (1<<25) 33ec73a754SAlex Elder #define CEPH_FEATURE_CREATEPOOLID (1<<26) 346e8575faSSam Lang #define CEPH_FEATURE_REPLY_CREATE_INODE (1<<27) 35ec73a754SAlex Elder #define CEPH_FEATURE_OSD_HBMSGS (1<<28) 36ec73a754SAlex Elder #define CEPH_FEATURE_MDSENC (1<<29) 3783ca14fdSSage Weil #define CEPH_FEATURE_OSDHASHPSPOOL (1<<30) 381fe60e51SSage Weil 391fe60e51SSage Weil /* 401fe60e51SSage Weil * Features supported. 411fe60e51SSage Weil */ 421fe60e51SSage Weil #define CEPH_FEATURES_SUPPORTED_DEFAULT \ 43546f04efSSage Weil (CEPH_FEATURE_NOSRCADDR | \ 444f6a7e5eSSage Weil CEPH_FEATURE_PGID64 | \ 454f6a7e5eSSage Weil CEPH_FEATURE_PGPOOL3 | \ 464f6a7e5eSSage Weil CEPH_FEATURE_OSDENC | \ 476e8575faSSam Lang CEPH_FEATURE_CRUSH_TUNABLES | \ 481604f488SJim Schutt CEPH_FEATURE_CRUSH_TUNABLES2 | \ 4983ca14fdSSage Weil CEPH_FEATURE_REPLY_CREATE_INODE | \ 5083ca14fdSSage Weil CEPH_FEATURE_OSDHASHPSPOOL) 511fe60e51SSage Weil 521fe60e51SSage Weil #define CEPH_FEATURES_REQUIRED_DEFAULT \ 534f6a7e5eSSage Weil (CEPH_FEATURE_NOSRCADDR | \ 544f6a7e5eSSage Weil CEPH_FEATURE_PGID64 | \ 554f6a7e5eSSage Weil CEPH_FEATURE_PGPOOL3 | \ 564f6a7e5eSSage Weil CEPH_FEATURE_OSDENC) 571fe60e51SSage Weil #endif 58