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) 371fe60e51SSage Weil 381fe60e51SSage Weil /* 391fe60e51SSage Weil * Features supported. 401fe60e51SSage Weil */ 411fe60e51SSage Weil #define CEPH_FEATURES_SUPPORTED_DEFAULT \ 42546f04efSSage Weil (CEPH_FEATURE_NOSRCADDR | \ 434f6a7e5eSSage Weil CEPH_FEATURE_PGID64 | \ 444f6a7e5eSSage Weil CEPH_FEATURE_PGPOOL3 | \ 454f6a7e5eSSage Weil CEPH_FEATURE_OSDENC | \ 466e8575faSSam Lang CEPH_FEATURE_CRUSH_TUNABLES | \ 471604f488SJim Schutt CEPH_FEATURE_CRUSH_TUNABLES2 | \ 486e8575faSSam Lang CEPH_FEATURE_REPLY_CREATE_INODE) 491fe60e51SSage Weil 501fe60e51SSage Weil #define CEPH_FEATURES_REQUIRED_DEFAULT \ 514f6a7e5eSSage Weil (CEPH_FEATURE_NOSRCADDR | \ 524f6a7e5eSSage Weil CEPH_FEATURE_PGID64 | \ 534f6a7e5eSSage Weil CEPH_FEATURE_PGPOOL3 | \ 544f6a7e5eSSage Weil CEPH_FEATURE_OSDENC) 551fe60e51SSage Weil #endif 56